线性表的理论知识总结
大佬其实总结的很完善了,先查看大佬的总结:
数组:https://mp.weixin.qq.com/s/X7R55wSENyY62le0Fiawsg
链表:https://mp.weixin.qq.com/s/ntlZbEdKgnFQKZkSUAOSpQ
有几个小问题补充一下:
(1)数组下标为什么从0开始:为了方便地址计算,比如知道数组首地址,如果从0开始,则a[i]的地址=首地址+i*每个数据所占的长度;如果从1开始,则a[i]的地址= 首地址 + (i-1)*每个数据所占的长度。
(2)链表的头指针:链表中第一个节点的存储位置。
(3)链表的头结点:为了更加方便的对链表进行操作,在单链表的第一个节点前附设一个结点成为头结点。头结点方便插入和删除操作,将第一个结点的插入删除操作统一。
(4)若链表有头结点,则头指针是指向头结点的指针。
(5)若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序存储结构。若需要频繁插入和删除时,宜采用单链表结构。
(6)双向链表的插入操作口诀:先搞定插入结点的前驱和后继,再搞定后结点的前驱,最后解决前结点的后继。