链表

1,474 阅读1分钟

什么是链表

链表是一种常见的数据结构,它是一种线性表,由若干个节点串成一串组成,每个节点都有会两个区域,第一个叫数据域(实际存储的值),第二个叫指针域(指向下一个节点的地址),在JavaScript中没有指针域这个概念,可以理解为指向下一个节点的引用。

指针域的实现方式可能是以下几种:C语言中通常使用的是内存地址来标识,某些特殊链表写法中使用的是数组下标(相对地址),JS,JAVA,Python中使用的是引用。

普通的单向链表

D8C7A783-4E8D-4e5d-A4A3-2623464E1209.png

链表的性能

查找节点O(n),插入节点O(1),删除节点O(1)。

链表的应用场景

适合动态插入和删除数据的应用场景,不适合快速定位查找数据。

链表有哪些典型的应用场景。

1.操作系统内的动态内存分配。2.LRU缓存淘汰算法。