数据结构在程序面试中极其重要。链表则是对数组数据结构进行的补充,是另一种常见的数据结构。和数组相似的是,链表也是线性数据结构,并以线性方式储存元素。
但是,和数组不同的是,链表不将元素储存在连续的位置;相反,其元素分散在内存中的各个地方,并以节点进行相互连接。
链表不过是一个节点的列表,其中每一个节点都包含存储的值和下一个节点的位置。
正是因为其结构,在链表中添加与删除元素变得尤为简单,比起创建数组,它只需要简单的更改链接。但是搜索难度很大,且通常需要增加等同的时间成本(随着数据量的增大)才能在一个单一链表内找到某个元素。
此文章给出了更多数组与链表数据结构之间的差异:http://javarevisited.blogspot.sg/2013/07/difference-between-array-and-linked-list-java.html
Read full article from 给Java程序员的20个链表面试题
No comments:
Post a Comment