链表

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列接点(链表中每一个元素称为接点)组成。接点可以在运行时动态生成。每个接点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个接点地址的指针域。相比于线性表顺序结构,链表比较方便插入和删除操作。链表是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在一个接点里存到下一个接点的指针。由于不必按顺序存储,链表在插入的时
候可以达到O的复杂度,比另一种线性表:顺序表快得多。使用链表结构可以克服数组链表需要预先知道数据大小的确点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了节点的指针域,空间开销比较大。


链表最明显的好处是,链表是一种自我指示数据类型,因为他包含指向另一个相同类型的数据的指针。


链表有很多种不同的类型:单向链表、双向链表和循环链表


特点:
用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个数据元素与其它后继数据元素之间的逻辑关系,对数据元素来说,除了存储其本身的信息之外,还需要存储一个指示其直接后继的信息。由这两部分信息组成一个节点,表示线性中一个数据元素

你可能感兴趣的:(数据结构,存储)