ArrayList 内部使用的动态数组来存储元素,LinkedList 内部使用的双向链表来存储元素,这也是 ArrayList 和 LinkedList 最本质的区别。

Arraylist的内存结构是数组,当超出数组大小时创建一个新的数组,把原数组中元素拷贝过去。其本质是顺序存储的线性表,插入和删除操作会引发后续元素移动,效率低,但是随机访问效率高
LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问

除第一个元素外,每个元素有且仅有一个直接前驱。
除最后一个元素外,每个元素有且仅有一个直接后继

链式存储结构:结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构

在顺序表中,只要知道基地址和结点大小,就可在相同时间内求出任一结点的存储地址。

线索二叉链表是利用 rchild域存储后继结点的地址
2022-04-29
在牛客打卡11天,今天学习:刷题 18 道
全部评论

相关推荐

星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务