当前位置:   article > 正文

总结顺序表的几种存储方式_顺序表的存储方式

顺序表的存储方式

顺序表

顺序表用数组存储数据,数组在创建时就必须声明长度,所以顺序表是定长的,同时存储位置在物理上是相邻的。

    优点:顺序表具有随机存取结构,查找存取效率高。

    缺点:插入和删除元素时,需要移动元素,效率低。定长的数组容易造成空间浪费。造成存储空间的“碎片”。
  • 1
  • 2
  • 3

单链表

    单链表是用一组任意的存储单元存放线性表的元素,每个存储单元在存储数据元素的同时,还必须存储其后继元素所在的地址信息,这个地址信息称为指针。.

    单链表采用动态存储分配来存储线性表。
  • 1
  • 2
  • 3

优点:插入和删除元素时,不需要移动元素,效率高。内存动态申请,不造成空间浪费。

    缺点:查找存取效率低。
  • 1

循环链表:

把单链表中,将终端结点的指针域由空指针改为指向头结点,使整个单链表形成一个环,这种链表称为循环链表。

优点:相比单链表,循环链表的灵活性更高,从循环链表中任一结点出发,就可扫描到其他结点。

    缺点:相比单链表,循环链表中没有明显的尾端,容易造成死循环,需要格外注意循环条件。
  • 1

双链表:

双链表在单链表的基础上,多了一个prior前驱指针域,存放该结点的前驱结点的地址

优点:相比单链表,双联表能更快速确定表中任一结点的前驱结点。

缺点:相比单链表,多了前驱指针域,加大了在结构上内存开销。

静态链表:

静态链表是用数组来表示单链表,用数组元素的下标来模拟单链表的指针。

优点:插入和删除元素时,不需要移动元素,效率高。

缺点:定长的数组容易造成空间浪费。造成存储空间的“碎片”。

间接寻址:

间接寻址是将数组和指针结合起来的一种方式,它将数组中存储数据元素的单元改为存储指向该元素的指针。

优点:保持了顺序表随机存取的优点,查找存取效率高。改进了插入和删除操作的时间性能。

缺点:没有解决连续存储分配带来的表长难以确定的问题

总结:

一般来说,需要频繁存取的数据建议用顺序表,需要频繁增删或数据长度变化较大的数据建议用链表。静态链接通过灵活运用数组,提高了插入和删除元素的效率,但同时降低了查找存取的效率。间接寻址通过把指针和数组结合起来,在保持了查找存取效率高的同时,改进了插入和删除操作的时间性能,但又加大了结构性的开销。

    每种存储方式都有其优点和缺点 ,我们需要根据数据的实际情况,选择最恰当的存储方式。

    在实验二中,由于处理的数据量比较少,除了知道几种存储方式的操作有差异外,并没有直观地感受到这几种存储方式的优缺点。
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/427103
推荐阅读
相关标签
  

闽ICP备14008679号