顺序表和链表的优缺点比较
顺序表(静态分配) 【数据结构|顺序表和链表的优缺点比较】优点:
(1).结构简单,易于理解;
(2).存储空间连续,方便随机访问表中的每个元素,时间复杂度为O(1);
(3).不需要再为表示节点间的逻辑关系而增加额外的存储空间;
(4).尾插,尾删效率高,时间复杂度为O(1);
(5).CPU缓存利用率高;
缺点:
(1)插入和删除比较慢,时间复杂度为O(N);
(2)长度固定,必须在分配内存之前确定数组长度;
(3)易造成存储空间的利用率低(分配的数组长度过大,就会造成多余的空间得不到利用);
链表(动态分配) 优点:
(1)物理存储单元上非连续,而且采用动态内存分配,能够有效的分配和利用资源;
(2)节点的插入和删除操作简单,不需要内存空间的重组;
缺点:
(1)不能随机访问,只能从头节点开始顺序查找;
(2)数据结构较为复杂,需要大量指针操作,容易出错;
总结:顺序表和链表各有各的优缺点,要视具体情况来确定使用,如需进行频繁插入和删除操作,且很少进行查找可以用链表存储。如需要频繁查找操作,很少插入和删除操作,可以用顺序存储。
推荐阅读
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 【C】题目|【C语言】题集 of ⑥
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- C语言学习(bit)|16.C语言进阶——深度剖析数据在内存中的存储
- 数据结构和算法|LeetCode 的正确使用方式
- 先序遍历 中序遍历 后序遍历 层序遍历