首页 > 其他 > 详细

408数据结构辨析记录存档

时间:2021-07-31 11:26:50      阅读:16      评论:0      收藏:0      [点我收藏+]

线性表

头指针和头结点
头指针:通常用来标识一个单链表,头指针为NULL时表示一个空表
单链表第一个结点之前附加一个结点,为头结点,指针域指向线性表的第一个元素结点。
区分:不管带不带头结点,头指针都始终指向链表的第一个结点,而头结点是带头结点的链表中的第一个结点,通常不存储信息。
如果有头结点,头指针就指向头结点。
L=(LinkList)malloc(sizeof(LNode)); L为头结点地址。
所以 带头结点的双循环链表L为空的条件是:
L->prior==L && L->next==L

疑惑1:给定有n个元素的一维数组,建立一个有序的单链表的最低时间复杂度是:O(nlogn)
当一维数组有序时,时间复杂度最低,为O(n)

静态链表用于需要较大储存空间的情况(个人觉得是需要预先分配的情况下)
题目:需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构为:静态链表
不是单链表的原因猜想:单链表动态分配内存,大概会分配堆栈空间,而静态链表可以定义在外部,存放在静态区,可以分配更大的空间


期待讨论

408数据结构辨析记录存档

原文:https://www.cnblogs.com/moomight/p/15083053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!