什么是链表
链表是一种常见的数据结构,它是一种线性表,由若干个节点串成一串组成,每个节点都有会两个区域,第一个叫数据域(实际存储的值),第二个叫指针域(指向下一个节点的地址),在JavaScript中没有指针域这个概念,可以理解为指向下一个节点的引用。
指针域的实现方式可能是以下几种:C语言中通常使用的是内存地址来标识,某些特殊链表写法中使用的是数组下标(相对地址),JS,JAVA,Python中使用的是引用。
普通的单向链表
链表的性能
查找节点O(n),插入节点O(1),删除节点O(1)。
链表的应用场景
适合动态插入和删除数据的应用场景,不适合快速定位查找数据。
链表有哪些典型的应用场景。
1.操作系统内的动态内存分配。2.LRU缓存淘汰算法。