一、简单介绍
链表是种常见且重要的数据结构。链表并不是按线性的顺序存储数据,而是由若干个同一结构类型的“结点”依次串联而成的。下面是单链表的结构:
每一组数据的Data部分为需存储的信息(如列表List中储存的不同元素),Next部分存储下一组数据的位置信息。(这里“组”的概念在链表中称为“结点Node”)
二、链表与数组对比
Python中没有数组Array类型,只有列表List类型,这里的数组也即由纯数字构成的列表。
数组Array:
优点:访问Access快(这里是用索引Index进行直接定位并读取)
缺点:查询Search、插入Insert、删除Delete慢(如删除其中一个元素,需后面所有元素向前补齐一位)
链表LinkedList:
优点:插入Insert、删除Delete快(插入或删除时只需更改Next指向其他结点,而不需要对后面所有的结点进行变动)
缺点:查询Search、访问Access慢(无法通过索引Index的方式访问,必须一个结点一个结点的向后遍历 )