1.顺序表

优点:

1、物理空间是连续的,方便使用下标随机访问。

缺点:

1、由于需要物理空间连续,空间不够需要扩容。扩容本身有一定消耗,其次扩容机制还存在一定的空间浪费。

2、头部或者中部的插入、删除需要挪动数据,效率低 O(n).

2.链表

优点:

1、任意位置的插入删除数据的效率高O(1).

2、按需申请和释放空间。

缺点:

1、不支持下标的随机访问。有些算法不适合在链表上进行,比如二分查找、排序等

2、空间利用率不如链表,需要一个结点中除了有数据,还有指向其他结点的指针

3、顺序表其他优点

顺序表还有一个优点:CPU高速缓存命中率高

由于内存的速度太慢,CPU不会直接访问内存,数据会先加载到三级缓存或寄存器(4/8byte的小数据会放到寄存器,大数据加载到缓存)

CPU会看数据是否在缓存,在就叫命中,直接访问

不在就叫不命中,先把数据从内存加载到缓存,再访问

而每次加载基于局部性原理,会把数据连续一段空间都加载到缓存

【数据结构】顺序表和链表的优缺点相关推荐

  1. 比较顺序表和链表的优缺点

    1.比较顺序表和链表的优缺点,他们分别在什么场景下使用它. 顺序表支持随机访问,单链表不支持随机访问. 顺序表插入/删除数据效率很低,时间复杂度为O(N)(除尾插尾删),单链表插入/删除效率更高,时间 ...

  2. C语言链表的转置算法,c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置.doc...

    c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置 #include "stdio.h" #include "malloc.h" /*typedef s ...

  3. 8.基本数据结构-顺序表和链表

    一.内存 - 计算机的作用:对数据进行存储和运算.首先我们需要知道我们目前使用的计算机都是二进制的计算机,就以为着计算机只可以存储和运算二进制的数据.例如下载好的一部电影,该电影可以存储到计算机中,计 ...

  4. 数据结构 | 顺序表、链表和数组是逻辑结构还是物理(存储)结构?

    1.逻辑结构和物理结构的定义 首先数据结构分为两个层次:逻辑结构 和 物理结构(存储方式) . 逻辑结构是用来描述数据元素之间的逻辑关系,是一个抽象概念,与数据的实际存储无关,独立于计算机存在. 物理 ...

  5. 2.6顺序表和链表的优缺点(区别、特点)详解

    顺序表和链表由于存储结构上的差异,导致它们具有不同的特点,适用于不同的场景.本节就来分析它们的特点,让读者明白 "在什么样的场景中使用哪种存储结构" 更能有效解决问题. 通过系统地 ...

  6. 数据结构--顺序表、链表、栈、队列、树、文件(visual studio可运行)

    顺序表的顺序存储(增删查) #include <stdio.h> #include <stdlib.h> #define MaxSize 50 typedef int Elem ...

  7. 顺序表和链表的优缺点理解

    若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用哪种存储方式最节省时间?D A.双链表 B.单循环链表 C.带头结点的双循环链表 D.顺序表 想要存取任一指定序号的元素 ...

  8. 大话数据结构顺序表和链表

    一 .顺序表 基本定义 typedef struct {int data[MAXSIXE];int len; }SeqList; 基本操作 //初始化 SeqList *Init_SeqList() ...

  9. 【数据结构】线性表4——顺序表和链表的比较

    文章目录 顺序表和链表的比较 单链表.循环链表和双向链表的时间效率比较 顺序表和链表的优缺点比较 顺序表和链表的基本操作比较 实现线性表时,用顺序表还是链表好? 顺序表和链表的逻辑结构都是线性结构,都 ...

最新文章

  1. keras图像增强augmentation
  2. xutils设置能够使webview接受第三方cookie,版本低于api21如何设置
  3. java robot 对象_用Java Robot对象实现服务器屏幕远程监视
  4. 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter
  5. 简单的消息发送小程序
  6. 关于ORACLE的GUID主键生成
  7. 爬虫-36kr-使用xpath爬取数据-part1-提取接口所需的6开头的数字-拼接下一个接口的路径
  8. (python)7-6 sdut-数制转换
  9. MFC根据颜色数组自定义位图并显示到窗口
  10. elementui可编辑单元格_ElementUI table组件实现点击单元格可编辑
  11. 2012CSDN网站六大类职位火热招聘:社区编辑、产品交互设计、信息安全主管、前端工程师、Ruby工程师、搜索工程师...
  12. msvcp110d.dll 丢失问题原因及解决思路
  13. 14、数 据 库:破解还原Access数据库密码
  14. 更深层次的了解计算机,想要对电脑拉力试验机有更深层次的了解,看这里
  15. linux lseek 指定 文件大小,linux下通过lseek()实现文件大小设置
  16. 3D游戏设计——模型与动画
  17. 1335 工作计划的最低难度(动态规划)
  18. 中国膨润土市场消费状况与投资盈利预测报告(2022-2027年)
  19. flask学习:开发一个微电影网站一:项目介绍
  20. 招沿实业学生怎样才能做好投资理财工作

热门文章

  1. PaddleOCR——训练总结
  2. 安利10款免费的Python数据处理工具
  3. 在 LaTeX 中创建文档
  4. python列表list元素降序排列两种方法
  5. ttf-dejavu fontconfig字体
  6. #define用法【转】
  7. 几种常见的脚本语言及其简介
  8. 基于java实现下载excel
  9. 企业为什么需要知识管理
  10. Linux TWI开发指南