数组中的元素在内存中连续存放,可以通过下标快速访问元素。
链表中的元素不是顺序存储的,通过指针相连。数组从栈中分配空间,方便快速但*度小
链表从堆中分配空间,*度高但申请和管理比较麻烦数组访问元素时间为O(1),但插入和删除元素都要移动大量元素,时间为O(n)
链表访问元素需要通过指针寻找,时间为O(n),但删除和插入元素只需更改指针指向,时间为O(1)数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。
链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。
相关文章
- java学习笔记(基础篇)—抽象与接口的区别
- Android(java)学习笔记227:服务(service)之服务的生命周期 与 两种启动服务的区别
- MFC学习笔记(一):模态对话框与非模态对话框的区别、创建及显示
- 数据结构与算法学习笔记之 从0编号的数组
- [数据结构] 数组与链表的优缺点和区别
- vue学习笔记(一)关于事件冒泡和键盘事件 以及与Angular的区别
- Android 学习开发笔记《Service 与 Thread 的区别 》
- 大前端学习笔记整理【三】行内元素与块级元素的区别以及绝对定位与固定定位的差异
- [知了堂学习笔记]_集合接口list与集合接口set的区别
- 【数据结构与算法学习笔记】PART3 线性结构(除向量外,数组、栈、队列、链表)