链表

时间:2024-08-10 09:26:01编辑:流行君

链表的特点是什么

  特点:

  1、采用动态存储分配,不会造成内存浪费和溢出;

  2、链表执行插入和删除操作十分方便,修改指针即可,不需要移动大量元素。

  简介:

  链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

  链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域,相比于线性表顺序结构,操作复杂。


链表有哪些优点和缺点?

链表优点和缺点如下:优点:在插入和删除操作时,只需要修改被删节点上一节点的链接地址,不需要移动元素,从而改进了在顺序存储结构中的插入和删除操作需要移动大量元素的缺点。缺点:1、没有解决连续存储分配带来的表长难以确定的问题。2、失去了顺序存储结构随机存取的特性。扩展资料:线性表的链式存储表示的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。根据情况,也可以自己设计链表的其它扩展。但是一般不会在边上附加数据,因为链表的点和边基本上是一一对应的(除了第一个或者最后一个节点,但是也不会产生特殊情况)。对于非线性的链表,可以参见相关的其他数据结构,例如树、图。另外有一种基于多个线性链表的数据结构:跳表,插入、删除和查找等基本操作的速度可以达到O(nlogn),和平衡二叉树一样。其中存储数据元素信息的域称作数据域(设域名为data),存储直接后继存储位置的域称为指针域(设域名为next)。指针域中存储的信息又称做指针或链。参考资料来源:百度百科-链表

在什么情况下用顺序表比链表好

需要随机访问(按脚标访问)数据的时候;已知最大元素数量(即最大表长)的时候;不需要大量插入、删除元素操作的时候。需要随机访问表中的元素的时候用顺序表更好。因为顺序表中的元素都是紧挨着排列在一起的,只要知道了第一个元素的地址,在这个地址上加上一个偏移量就可以得到另一个元素。而如果是链表的话,访问某个元素首先都要依次遍历这个元素前面的所有元素,效率是很低的。扩展资料:如顺序表的每个结点占用len个内存单元,用location (ki)表示顺序表中第i个结点ki所占内存空间的第1个单元的地址。则有如下的关系:location (ki+1) = location (ki) +lenlocation (ki) = location(k1) + (i-1)len存储结构要体现数据的逻辑结构,顺序表的存储结构中,内存中物理地址相邻的结点一定具有顺序表中的逻辑关系。参考资料来源:百度百科-顺序表

链表顺序表的优缺点

链表:(内存有用户自行分配)
优点:插入和删除数据(结点)效率高;插入和删除数据时间复杂度O(1)
缺点:不支持随机访问(下标法访问数据(结点)),访问链表中的任何结点只能从头结点开始
顺序表:(内存系统分配)
优点:可以随机访问数组元素(如a[2]:访问数组第3个元素)
缺点:插入和删除数据(结点)效率低;插入和删除数据时间复杂度O(n)


上一篇:shinee温流

下一篇:英国历史