链表?

1、什么是链表?
链表是物理存储单元上非连续的、非顺序的存储结构,不同于栈和队列。链表由一系列节点组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。
***mark---->>>【】
【使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。】

图略

2.链表的结构

2.1、节点
节点包含了两部分,一部分是存储数据的元素区域,一部分是指向下一个节点的指针区域,上图中绿色部分表示数据区域,蓝色部分表示指针区域,它们共同构成一个节点。
2.2、首尾节点
链表中的第一个节点是首节点,最后一个节点是尾节点。

2.3、有头链表和无头链表
***mark---->>>【】
【无头链表是指第一个节点既有【数据域】,又有指针域,第一个节点既是首节点又是头节点。】

【有头链表是指第一个节点只有【指针域】,而没有数据域。】通常有头链表的数据域可以存放当前的链表的一些信息。

end.

猜你喜欢

转载自www.cnblogs.com/wn798/p/12066423.html