1、琐碎知识点
- 链表所需要的空间和线性长度成正比
- 链式存储结构中,除自身结点信息外,还包括指针域,因此,存储密度小于顺序存储结构
- 在具有N个结点的单链表中,访问结点的时间复杂度是O(N),创建、插入、删除、清空、查询的时间复杂度是O(N)
- 看到底是要选择什么样的链表,这类题就是看需要找到的元素的位置在哪即可,删除和插入都要找到其前一个位置
- 与单链表相比,双链表的优点之一是顺序访问相邻接点更加灵活
2、
而不是B
3、
4、
5、
6、
将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为( )
A.O(1) B.O(n) C.O(m) D.O(m+n)
答案:C
解释: 要插入到长度为m的单链表,需要找到表尾,这个过程的时间复杂度为o(m),连接的时间复杂度为0(1),所以总的时间复杂度为0(m)
因此如果仅仅是合并的话,时间复杂度为O(1)
7、
8、
在一个具有n个节点的单链表中:
(1)在地址为.…的结点之前/之后、插入/删除某一个结点的话,时间复杂度为O(1);
(2)在第 i 个结点之前/之后、插入/删除一个新结点,或者,删除第 i 个结点,时间复杂度为O(n);
(3)在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是O(n);
9、在n个结点的*顺序表*中,算法的时间复杂度是O(1)的操作是://注意这里是顺序表,可以随机访问;
A.访问第i个结点和求第i个结点的直接前驱
B.在第i个结