数据结构—线性结构—(顺序表和链表的差异)

存取方式

顺序表可以实现顺序存取和随机存取

单链表只能实现顺序存取
在这里插入图片描述

逻辑结构和物理结构

顺序表:逻辑相邻物理上也相邻,通过相邻表示逻辑关系

单链表:逻辑相邻物理上不一定相邻,通过指针表示逻辑关系

在这里插入图片描述

基本操作

插入&删除:

单链表为【O(1)(节点指针已知)O(n)(节点指针未知)】,而且操作时只需修改指针

顺序表为O(n),而且需要移动大量元素

插入操作:

在这里插入图片描述

删除操作:

在这里插入图片描述

查找操作

按值查找中单链表和顺序表(无序)都为O(n)

按序查找中单链表为O(n),顺序表为O(1)
在这里插入图片描述

内存空间

顺序存储:

无论是静态分配还是非静态分配都需要预先分配合适的内存空间
静态分配时预分配空间太大会造成浪费,太小会造成溢出
动态分配时虽不会溢出,但是扩充需要大量移动元素,操作效率低

链式存储:

在需要时分配节点空间即可,高效方便,但指针需要使用额外的空间

顺序表和单链表的选择

在这里插入图片描述

三个常用操作

求最值:

在这里插入图片描述

逆置:

在这里插入图片描述

归并:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43652327/article/details/105280317