【数据结构】什么是线性表?

news2025/5/21 15:49:08

🦄个人主页:修修修也

🎏所属专栏:数据结构

⚙️操作环境:Visual Studio 2022


目录

线性表的定义

生活中常见的线性表

结语


线性表的定义

线性结构的特点:

在数据元素的非空有限集中:

  1. 存在唯一的一个被称作"第一个"的数据元素;
  2. 存在唯一的一个被称做"最后一个"的数据元素;
  3. 除第一个之外,集合中的每个数据元素均只有一个前驱;
  4. 除最后一个之外,集合中每个数据元素均只有一个后继.

线性结构的数据元素之间的关系如下图:

线性表,栈,队列,串和数组都属于线性结构.而线性表是最基本也是最常用的一种线性结构.

线性表(List):零个多个数据元素的有限序列.

序列,顾名思义,元素之间是有顺序的,就像上图中那样,八个小朋友都是按顺序排好的,第二个在第一个后面,第三个在第二个后面......

其次,线性表强调是有限的,即数据元素的个数是有限的.事实上,在计算机中处理的对象都是有限的,无限的数列,只存在于数学的概念中.

如果我们像高数那样定义线性表的概念,则:

若将线性表记为(a_1{_{}},...,a_{i-1},a_{i},a_{i+1},...,a_{n}),

则表中a_{i-1}领先于a_{i},a_{i}领先于a_{i+1},

a_{i-1}a_{i}的直接前驱元素,a_{i+1}a_{i}的直接后继元素.

当i=1,2,...,n-1时,a_{i}有且仅有一个直接后继,

当i=2,3,...,n时,a_{i}有且仅有一个直接前驱.

其对应关系如下图所示:

所以,将线性表元素的个数n(n>=0)定义为线性表的长度,n=0时,称为空表.

非空表中每个数据元素都有一个确定的位置,如a_{1}是第一个数据元素,a_{n}是最后一个数据元素,a_{i}是第i个数据元素,称i为数据元素a_{i}在线性表中的位序.


生活中常见的线性表

我们生活中有很多东西都有线性表的身影,如一年中的星座列表:

班上同学的点名册,因为每个同学的信息是按顺序排的,因此虽然每个数据元素有很多数据项,但组合起来仍然是一个线性表:

还有我们天天都在用的手机通讯录,和点名册类似,同样是一种线性表:

还有一点要注意,如果我现在要将我的猫和张三家的狗也加入通讯录中,可行吗?

答案是不可以,因为根据线性表的定义,必须是相同类型的数据才可以.猫和狗显然和人不是一种类型,想要记录的话,还是重新建立一个"宠物档案册"吧~


结语

当我们搞清楚什么是线性表后,在数据结构线性表篇我们还将一起学习线性表的抽象数据类型,线性表的顺序存储结构(顺序表的实现),线性表的链式存储结构(链表的实现)等相关知识.希望这些内容能对大家有所帮助,一起学习,一起进步!

相关文章推荐

【数据结构】什么是数据结构?

【数据结构】什么是算法?

【数据结构】线性表的抽象数据类型

【数据结构】线性表的顺序存储结构(顺序表详解)

【数据结构】线性表的链式存储结构(链表的实现)

【C语言实战项目】通讯录

......



数据结构线性表篇思维导图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1088892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统编程_文件编程第1天:打开、写入、读取、关闭文件等编程

1. 文件编程概述(399.1) 内容超多: 文件系统原理及访问机制文件在内核中的管理机制什么是文件信息节点inode文件的共享文件权限,各种用户对其权限。。。。。。 应用为王,如: 账单游戏进度配置文件等 关心如…

WEditor的安装和使用

WEditor 编辑器能够提供辅助编写脚本,查看组件信息,调试代码等功能。 Screenshot 安装 依赖项目 Python3.6 uiautomator2facebook-wda Only tested in Google Chrome, IE seems not working well. pip3 install -U weditor # uiautomator2, faceboo…

龙迅LT86102UXE HDMI2.0转二路HDMI2.0/1.4,支持音频剥离,支持4K60HZ

龙迅LT86102UXE 1.描述: 龙迅 LT86102UXE HDMI2.0 分路器具有符合 HDMI2.0/1.4 规范的 1:2 分路器、最大 6Gbps 高速 数据速率、自适应均衡 RX 输入和预加重 TX 输出(用于支持长电缆应用)、内部 TX 通道交换以 实现灵活的 PCB…

天眼查最新方式工商信息爬取(公开信息)

本章教程,主要介绍利用python效率提取天眼查公开工商信息。 官网地址:天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统 教程仅供参考,请勿滥用,由此带来的法律责任,需由自己承担。 1、数据预览 2、程序代码 #!/usr/bin/python # -*- coding: UTF-…

vue3结合elemplent-plus组件初始化选择日期范围

实现的效果: 在使用时踩了个坑,耽搁了俩小时时间,气人!!!! 注意: 1.获取上个月时间时必须使用正确的时间格式去获取,在获取时间的时候不能操作-等 2.获取到的时间必须…

物联网AI MicroPython传感器学习 之 HX711称重传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 下图是一款量程为5kg的称重传感器,采用悬臂梁方式安装。传感器主体结构是一个开孔金属条,金属条上下表面各贴有两个应变电阻,当金属条受力发生变形时时&…

接口测试如何高效管理接口文档 !

痛点 如果你负责测试的项目是一个前后端分离的项目。 回忆下是不是有如下场景: 某个项目开发完成,接口文档发布在了 swagger 上,前后端各自进行开发。此时你负责这个项目的服务端测试。 首先进行接口测试,熟练的打开 postman 导入 swagger 文档,然后开始进行接口测试。 接口…

自动化办公篇之python

1、如果没有安装xlwings库,先在控制台pip install xlwings,然后点击运行,创建四个空excel表 。 import xlwings as xw app xw.App(visibleTrue,add_bookFalse) for dept in ["技术部","销售部","运营部","财务部&q…

2023年中国渔业研究报告

第一章 行业概况 1.1 定义 渔业,作为全球经济的重要支柱之一,其核心活动包括捕捞、水产养殖、产品加工与销售等。其不仅是食物安全的重要保障,还是许多沿海和内陆地区经济发展的重要动力。 首先,捕捞活动是渔业的基础。通过海洋…

中国走向碳中和:零碳联盟的关键角色

随着近期联合国大会上主席宣布的中国碳中和目标,国家的低碳转型和绿色可持续发展再次成为焦点。面对这样的国家大政方针,不少企业和机构纷纷响应,其中零碳联盟的努力与成果更是备受瞩目。 零碳联盟,作为中国投资协会联合多家机构…

微信小程序生成海报

效果: js1: const cloudHelper = require(../../../helper/cloud_helper.js);async function config1({cover,title,desc,qr,bg = }) {var qr1 ="images/qr.png"var qr2 ="https://636c-cloud1-0gu29f2j63906b7e-1319556650.tcb.qcloud.la/activitycomm/setu…

C++入门 —— 命名空间

命名空间 前言1. 什么是命名空间2. 命名空间的定义3. 命名空间的使用3.1 域作用限定符 ::3.2 使用using将命名空间中某个成员引入3.3 使用using namespace 命名空间名称 引入 4. cin/cout 输入输出4.1 C中的输入输入与C中的输入输出对比 所属专栏:C“嘎嘎" 系统…

快速自动化处理JavaScript渲染页面

在进行网络数据抓取时,许多网站使用了JavaScript来动态加载内容,这给传统的网络爬虫带来了一定的挑战。本文将介绍如何使用Selenium和ChromeDriver来实现自动化处理JavaScript渲染页面,并实现有效的数据抓取。 1、Selenium和ChromeDriver简介…

AN基础工具——动画人物上色

【AN基础工具——动画人物上色】 基本操作滴管工具填充工具画笔工具流畅画笔工具 实例,给多啦A梦上色注意事项 本篇内容:动画人物绘制基础 重点内容:滴管工具,画笔工具,填充工具 工 具:Adobe Animate 2022 …

17个开源的Go语言博客和CMS解决方案

Go语言,也称为Golang,是一种为构建高效、可靠和可扩展软件而设计的开源编程语言。它于2007年在Google开发,现在广泛用于开发Web应用程序、网络工具和系统软件。 为什么使用基于Go的CMS解决方案? 这些优势使Go成为开发可扩展、高…

鼠标划过改变子元素的属性 vue

鼠标划过改变子元素的属性 vue (未完成) 一、需求 我想做一个类似词句大爆炸的效果,将一个句子炸成多个词条,然后手动选择需要的内容。 结构是这样的 wordList -> word 需要的操作是鼠标左键划过的时候将划过的字词选中。 …

【Proteus仿真】【51单片机】水箱液位监控系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶、按键、蜂鸣器、液位传感器、PCF8591 ADC转换器、水泵等。 主要功能: 系统运行后,LCD1602显示当前水位、上下限…

07 | @Entity 之间的关联关系注解如何正确使用?

实体与实体之间的关联关系一共分为四种,分别为 OneToOne、OneToMany、ManyToOne 和 ManyToMany;而实体之间的关联关系又分为双向的和单向的。实体之间的关联关系是在 JPA 使用中最容易发生问题的地方,接下来我将一一揭晓并解释。我们先看一下…

简单总结Centos7安装Tomcat10.0版本

文章目录 前言JDK8安装部署Tomcat 前言 注意jdk与tomcat的兼容问题,其他的只要正确操作一般问题不大 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomca…

鼠标右键展示“用Hbuilder“打开方法

桌面新建一个 文本文档,把下面这段粘贴进去 [Version] Signature"$Windows NT$" [DefaultInstall] AddRegHBuilderX [HBuilderX] hkcr,"*\\shell\\HBuilderX",,,"用 HBuilderX 打开" hkcr,"*\\shell\\HBuilderX\\command"…