一、时间复杂度 1、时间复杂度由多项式T(n)中最高阶的项决定。 这是因为n趋于无穷大时,最高阶的项占主导作用,其它项可以忽略。 2、常见类型 二、空间复杂度 1、算法相关空间 2、常见类型(从低到高排列) 三、尾递归1、介绍 若函数在尾位置调用自身(或是一个尾调用本身的其他函数等等),则称这种情况为尾递归 2、特点 尾递归在普通尾调用的基础上,多出了2个特征; (1).在尾部调用函数本身(Self-cellded) (2).可通过优化,使计算仅占常量栈空间(Stack-Space) 3、原理 当编译器检测到一个函数调用是尾递归的时候,就会覆盖当前活动记录,而不是在栈重新创建一个新的空间 四、链表1、定义 链表是将相同类型元素存储在离散空间的数据结构,对空间长度要求低,每个元素都是单独的对象,通过指针连接 存储链表节点的内存空间:存储节点值+存储节点指针(引用) 2、建立链表 (1).初始化各个节点对象 (2).构建引用 3、优点 方便元素的插入和删除 4、缺点 不便于访问元素节点 5、常见操作 遍历链表 6、常见链表类型 单项链表、环形链表、双向链表 五、数组 访问元素高效 初始化长度后不可变。 插入删除元素效率差