线性表是数据结构中最简单的数据存储结构,可以理解为“线性的表”。

线性,是说数据在逻辑结构上具有线性关系。 将具有线性关系的数据存储到计算机中所使用的存储结构称为 线性表 。

线性关系指的是数据一个挨着一个,总体呈线性分布。就好比“老鹰捉小鸡”游戏中,小鸡们全都手拉着手,它们之间的关系就可以称为线性关系。

换句话说,线性表中的数据在逻辑结构上相互挨着(手牵手),中间没有空隙。每个数据元素,在它的前面可以找到唯一一个数据和它挨着,后面也只有一个数据和它挨着。这样,数据在逻辑结构呈线性分布,称这样的存储结构为线性表。

线性表只对数据的逻辑结构有要求,根据实际存储的物理结构的不同(分散存储或者集中存储),线性表还可以进行更详细的分类,本节最后会详细介绍。

前趋和后继

对于线性表中的数据来说,位于当前数据之前的数据统称为“ 前趋元素 ”,前边紧挨着的数据称为“ 直接前趋 ”;同样,后边的数据统称为“ 后继元素 ”,后边紧挨着的数据称为“ 直接后继 ”。除非在线性表中插入或者删除数据元素,否则数据之间的关系不会改变。


图1 前趋和后继元素

数据元素、数据项、记录和文件

在线性表中,无论数据本身由多少种数据类型(每一种被称为一个“ 数据项 ”)组成,每一条数据被称为“ 数据元素 ”。

如果数据元素本身包含的数据项非常多,就可以称这个数据元素为一个“ 记录 ”,多条记录组成一个“ 文件 ”。

线性表的特点

用线性表存储的数据有两个特点:

  • 存储的数据本身的类型一定保持相同,是int型就都是int型,是结构体就都是一种结构体。
  • 数据一旦用线性表存储,各个数据元素之间的相对位置就固定了。

相对位置,指的是各数据元素在逻辑结构上的前后次序。

线性表的分类

之前讲过,逻辑结构上相邻的数据在实际的物理存储中有两种形式: 分散存储 和 集中存储 。

考虑到这两种情况,线性表分为两种,分别解决两种情况下数据的存储问题:

  • 数据元素在内存中集中存储,采用顺序表示结构,简称“顺序存储”;
  • 数据元素在内存中分散存储,采用链式表示结构,简称“链式存储”。

线性表:1.什么是线性表相关推荐

  1. 线性表(一)——顺序表

    线性表(一) 线性表(linear list),也称有序表(ordered list),是线性结构的典型代表.数据元素之间仅具有单一的前驱和后继关系. 一.线性表的逻辑结构 1.线性表的定义 线性表简 ...

  2. mysql 线性表_数据结构之线性表

    概要 参考<大话数据结构>,把常用的基本数据结构梳理一下. 线性表 定义 线性表(List):零个或多个数据元素的有限序列. 若将线性表记为 \((a_1, \cdots, a_{i-1} ...

  3. 构建线性表的c语言代码,数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码...

    1.运行环境 这里说明一下这里所有的C语言代码都是基于code::blocks 20.03编译运行的.当然一些其他集成开发环境应该也是可以的,个人不太喜欢功能太过强大的IDE,因为那同样意味着相关设置 ...

  4. 用Java描述数据结构之线性表的顺序存储(顺序表),ArrayList及其方法的介绍

    我们先来想一想什么是线性表? 线性表是最基本.最简单.也是最常用的一种数据结构.线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列. 线性表中数据元素之 ...

  5. 线性表之简介及顺序表

    线性表的本质 线性表的定义:线性表是具有相同类型的 n( ≥0)个数据元素的有限序列.((a1, a2, -, an)ai 是表项,n 是表长度.) 线性表(List)是零个或多个数据元素的集合. 线 ...

  6. 线性表:2.线性表的顺序存储结构--顺序表及C语言实现

    逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为 线性表的顺序存储结构 . 也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中, ...

  7. java描述线性探测_实现基于线性探测的哈希表1

    课程资料链接:https://pan.baidu.com/s/1gQksMmhPR-2MwNjf6IdGHA 提取码:91gv 课程详细内容: 001.数据结构与算法概述1 002.数据结构与算法概述 ...

  8. HNCU1324:算法2-2:有序线性表的有序合并(线性表)

    http://hncu.acmclub.com/index.php?app=problem_title&id=111&problem_id=1324 题目描述 已知线性表 LA 和 L ...

  9. 线性表 (一) 线性表定义与线性表插入与删除

    线性表 第一节 线性表定义 文字语言描述线性表: 像排队一样,具有线一样性质的结构 线性表(List):由多个数据元素组成的有限序列 数学语言描述线性表: 若将线性表记为(a1,-,ai-1,ai,a ...

  10. 线性表的顺序存储结构——顺序表

    什么是线性表? 线性表简称表,是n(n>=0)个具有相同类型的数据元素的有限序列,线性表中数据元素的个数称为线性表的长度,长度为0的表称为空表. 什么是顺序表? 线性表的顺序存储结构称为顺序表. ...

最新文章

  1. HashTable, HashMap, LinkedHashMap, ConcurrentHashMap
  2. OpenCV入门系列(4):显示一张图片和一个视频
  3. 安卓系统底层C语言算法之测试参数是几个long型的算法
  4. java 环境配置 mac_Java:配置环境(Mac)——JDK
  5. 什么是 SAP Spartacus UI 的 feature level
  6. 合成简单的声音波形(一)
  7. Oracle 11gR2 RAC OCR和votingdisk故障恢复案例
  8. 利用Pandas库进行简单的数据规整
  9. ON DELETE CASCADE和ON UPDATE CASCADE
  10. Java:JDBC(Mysql)
  11. ai带来的革命_AI革命就在这里。 这与我们预期的不同。
  12. python教程系列(三.6.2、XML)
  13. 第二章笔记:计数初步
  14. 5G+AIoT趋势下,智慧社区的发展机遇与趋势
  15. 压缩卷时可压缩空间远小于实际剩余空间解决方法
  16. 从零开始学springboot笔记(一)-Spring boot之Hello Word
  17. 数学建模里面灵敏度分析怎么写
  18. handle与多线程
  19. mq服务器与客户端消息同步,RocketMQ:主从同步的实现
  20. windows11 安装vc++6.0

热门文章

  1. 使用Visual Studio.Net,系统报告“automation服务器不能创建对象”错误。解决之道运行:regsvr32 scrrun.dll 就可以了。
  2. python怎样安装词云库_python词云库wordcloud的使用方法与实例详解
  3. 爱奇艺副总裁离职?本人回应了 曾一手打造现象级节目《中国有嘻哈》
  4. 小米12 Ultra有望春节后登场:主打影像升级 或与徕卡联名
  5. 苹果“造车梦”要碎?造车项目前负责人跳槽到福特汽车
  6. 外媒吐槽:iPhone 13系列为史上力度最小的升级
  7. 互联网企业互相屏蔽对方的链接,这种事情以后不行了!
  8. 财务造假10年!贾跃亭被罚2.41亿
  9. 亿航智能⻓续航⻜机有望在4-8周内首⻜亮相
  10. 《消费者报告》杂志:Model 3和Model S被评选为美国最佳豪华汽车