一、顺序存储:利用数组的连续存储空间顺序存放线性表的各元素。

主要操作的实现:

1、初始化(建立空的顺序表)

2、查找

查找成功的平均比较次数为(n+1)/2,平均时间性能为O(n)。

3、插入(第i(1<=i<=n+1)个位置上插入一个值为X的新元素)

插入实现操作:

4、删除(删除表的第i(1<=i<=n)个位置上的元素)

删除操作实现:

二、链式存储:不要求逻辑上相邻的两个元素物理上也相邻,通过“链”建立起数据元素之间的逻辑关系。其中,插入、删除不需要移动数据元素,只需要修改“链”。

主要操作的实现:

1、求表长

表的时间性能为O(n)

2、 查找

3、插入(在第i-1(1<=i<=n+1)个结点后插入一个值为X的新元素)

(1)先构造一个新结点,用s指向;

(2)再找到链表的第i-1个结点,用p指向;

(3)然后修改指针,插入结点(p之后插入新结点是s)

插入操作实现:

4、 删除(删除链表的第i((1<=i<=n)个位置上的结点)

(1)先找到链表的第i-1个结点,用p指向;

(2)再用指针s指向要被删除的结点(p的下一个结点);

(3)然后修改指针,删除s所指结点;

(4)最后释放s所指结点的空间。

删除操作实现:

//内容来自:2.1.2 线性表及顺序存储_哔哩哔哩_bilibili

线性表的顺序存储结构和链式存储结构相关推荐

  1. 线性表之顺序存储结构与链式存储结构 及 应用

    前言 我们常用的线性表是顺序存储结构和链式存储结构表示,是最基本.最简单.也是最常用的一种数据结构:一个线性表是由n个相同特性的数据的有限序列:比如java中的数组 ,链表:所以学习这两种结构表示是非 ...

  2. 线性表之顺序存储结构和链式存储结构

    线性表包括顺序表和链表,其中链表又包括单链表.循环链表.双向链表. 顺序存储结构和链式存储结构有所不同,具体区别如下表所示: 线性表是一种逻辑结构,相同数据类型的n个数据元素的有限序列,除第一个元素外 ...

  3. 顺序存储结构和链式存储结构的优缺点

    (一)顺序存储结构和链式存储结构的优缺点比较,以及使用情况. 1 优缺点 ① 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一):要求内存中可用存储单元的地址必须是连续的. 优点:存储密度大( ...

  4. 第三章 数据结构 线性表的逻辑结构 和 线性表的顺序存储结构,链式存储结构

    文章目录 线性表的特点 引用 集合与线性表的区别在于元素是否可以重复. 线性表的顺序存储结构 顺序存储的优缺点: 一维数组来表示顺序表的数据存储区域. 线性表的链式存储结构 链式存储的优缺点 线性表的 ...

  5. 队列的定义、循环队列的顺序存储结构及链式存储结构

    文章目录 1 队列的定义 1.1 文字定义 1.2 代码定义 2 循环队列 2.1 循环队列的定义 2.2 循环队列的顺序存储结构 3 队列的链式存储结构 3.1 链队列的入队操作 3.2 链队列的出 ...

  6. 数据结构第六篇——顺序存储结构与链式存储结构的特点

    ♥注:未经博主同意,不得转载. 两者特点: 顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配. 它的优点: (1)方法简单,各种高级语言中都有数组,容易实现. ...

  7. 顺序存储结构与链式存储结构的比较

    2019独角兽企业重金招聘Python工程师标准>>> 一:顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配. 它的优点是: (1)方法简单 ...

  8. 从C语言的角度重构数据结构系列(三)- 顺序存储结构和链式存储结构之顺序表

    前言 在学习具体的数据结构和算法之前,每一位初学者都要掌握一个技能,即善于运用时间复杂度和空间复杂度来衡量一个算法的运行效率. 在这里给自己打个广告,需要的小伙伴请自行订阅. python快速学习实战 ...

  9. 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)...

    还记得数据结构这个经典的分类图吧: 今天主要关注一下线性表. 什么是线性表 线性表的划分是从数据的逻辑结构上进行的.线性指的是在数据的逻辑结构上是线性的.即在数据元素的非空有限集中 (1) 存在唯一的 ...

  10. 线性表之顺序存储和链式存储结构

    线性表:由零个或多个数据元素组成的有限序列 线性表有两种物理存储结构:顺序存储结构和链式存储结构 一.顺序存储结构 顺序存储结构是存储结构类型中的一种,该结构是把逻辑上相邻的结点存储在物理位置上相邻的 ...

最新文章

  1. 【学习总结】数学-欧拉函数
  2. 谷歌地球API开发者指南(高级)
  3. 机器学习——KNN实现
  4. html网页缩小之后div框移动,css – DIV在浏览器中放大和缩小时移动
  5. java 启动参数 配置,java程序启动参数设置
  6. python random randint_python中random.randint和random.randrange的区别详解
  7. 学习 wxpython_序
  8. mysql执行sql流程_MySQL架构与SQL执行流程
  9. 操作系统 第三章 内存管理
  10. Linux运维跳槽40道面试精华题
  11. mysql where连接_MySQL连接查询on和where的区别和顺序
  12. EditPlus3.1工具以及Js插件(打包下载)
  13. JCVideoPlayerStandard点击全屏按钮崩溃
  14. 元宇宙势不可挡,facebook已更名Meta,前端人又能做什么?
  15. 彩影2008 白金版 10.1 build 2010
  16. css 设置冻结表格头,固定/冻结行表头、列表头的做法
  17. UEFI是什么意思?UEFI和BIOS的区别是什么?
  18. 盘点上海2010年入市新盘中最值得期待的楼盘
  19. 《算法笔记》学习日记——6.1 vector的常见用法详解
  20. php实现在线抽题,PHP实现类似题库抽题效果

热门文章

  1. svn和git下载安装
  2. matlab 转移矩阵,matlab转移矩阵
  3. 如何获取联盟后台的s.click.taobao.com的短链接
  4. 使用超级鹰模拟登录验证码报错的解决办法
  5. python 爬虫系列之极验滑块打码
  6. vsCode配置vue模板一键生成
  7. java 代理模式详解
  8. Python制图——图片格式代码探索
  9. windows android ndk开发,Windows系统下配置Android NDK开发环境
  10. 模电、数电、电力电子、开关电源基础知识总结