参考网课数据结构-青岛大学-王卓-第四周
参考书籍《数据结构C语言版第二版》 中国工信出版集团 人民邮电出版社出版 严蔚敏 编著
循环链表
循环链表的基本特征
特点:表中最后一个节点的指针指向头节点。
优点:从表中任意节点出发都能找到表中其他节点。
遍历循环链表的终止条件:判断p
是否等于头指针。
Note
使用头指针寻找单链表中的第个元素:;第个元素:。
使用尾指针寻找循环链表的第个元素:;第个元素:。
尾指针在循环链表中更为常用。
循环链表的合并
Hint
下面使用的指针是尾指针
Note
给指针的赋值:等号右边写地址
双向链表
提高前驱结点的查找速度。
双向循环链表
双向循环链表的对称性
p->prior->next=p->next->prior
双向链表的插入
时间复杂度,花在get步骤上
也可以这样写:
双向链表的删除
时间复杂度,花在get步骤上
单链表,循环链表,双向链表的时间效率比较
查找首元节点 | 查找尾节点 | 查找节点*p 的前驱节点 | |
---|---|---|---|
带有头结点的单链表L | 无法通过p->next 找到前驱 | ||
带有头结点的仅设头指针的循环单链表L | 通过p->next 可找, | ||
带有头结点的仅设尾指针的循环单链表R | 通过p->next 可找, | ||
带有头结点的双向循环链表L |