课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
算法是程序员在学习计算机编程开发语言的时候需要重点掌握的一个编程知识点,下面我们就一起来了解一下,递归算法与线性表数据结构的作用。
一、递归
1、介绍
递归:递归就是方法自己调用自己,每次调用时传入不同的变量。递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。
迭代和递归区别:迭代使用的是循环结构,递归使用的选择结构。使用递归能使程序的结构更清晰、更简洁、更容易让人理解,从而减少读懂代码的时间。其时间复杂度就是递归的次数。
但大量的递归调用会建立函数的副本,会消耗大量的时间和内存,而迭代则不需要此种付出。
递归函数分为调用和回退阶段,递归的回退顺序是它调用顺序的逆序。
分治:当一个问题规模较大且不易求解的时候,就可以考虑将问题分成几个小的模块,逐一解决。
二、线性表
1、介绍
由零个或多个数据元素组成的有限序列,有序表。
数据类型:一组性质相同的值的集合及定义在此集合上的一些操作的总称。
2、顺序存储结构
顺序表:用一组地址连续的存储单元存放数据。
特点:具有随机存储结构的特点,时间复杂度为o(1)。存、读数据时,不管哪个位置,时间复杂度都是o(1);插入和删除的时间复杂度是o(n)。
优点:无需为表示元素之间的逻辑关系而增加额外的存储空间;可以快速的存取表中任意位置的元素。
缺点:插入和删除操作需要移动大量元素;当线性表长度变化较大时,难以确定存储空间的容量;容易造成存储空间的"碎片"。
常见结构:数组、栈。
3、链式存储结构
链表:由一个数据域和一个指向下一个元素地址的指针域构成。存放数据的地址不一定连续。链表又主要包括:单(向)链表,单(向)循环链表,双(向)链表,双(向)循环链表。
常见结构:链表、队列。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。