【数据结构—1】线性表的概念与定义

转载 2015年07月09日 13:25:47

线性表的概念与定义

本文出处请点击这里

以前看伍迷老师讲了这么一个故事:

我经常下午去幼儿园接送儿子,每次都能在门口看到老师带着小朋友们,一个拉着另一个的衣服,依次从教室出来。而且我发现很有规律的是,每次他们的次序都是一样。比如我儿子排在第5个,毎次他都是在第5个,前面同样是那个小女孩,后面一直是那个小男孩。这点让我很奇怪,为什么一定要这样?

有一天我就问老师原因。她告诉我,为了保障小朋友的安全,避免漏掉小朋友, 所以给他们安排了出门的次序,事先规定好了,谁在谁的前面,谁在谁的后面。这样养成习惯后,如果有谁没有到位,他前面和后面的小朋友就会主动报告老师,某人不在。即使以后如果要外出到公园或博物馆等情况下,老师也可以很快地清点人数,万一有人走丢’也能在最快时间知道,及时去寻找。

我一想,还真是这样。小朋友们始终按照次序排队做事,出意外的情况就可能会少很多。毕竟,遵守秩序是文明的标志,应该从娃娃抓起。而且,真要有人丢失,小孩子反而是最认真负责的监督员。

嗯,这是一个很生动的例子。这种排好队的组织方式,其实就是现实中的线性表。之前我们讲了那么多概念性的东西,今天可以拿具体的对象来练手了。

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

有几个地方需要明确一下的:
  1. 首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。如果一个小朋友去拉两个小朋友后面的衣服,那就不可以排成一队了;同样,如果一个小朋友后面的衣服,被两个甚至多个小朋友拉扯,这其实是在打架,而不是有序排队。

  2. 然后,线性表强调是有限的,小朋友班级人数是有限的,元素个数当然也是有限的。事实上,在计算机中处理的对象都是有限的,那种无限的数列,只存在于数学的概念中。

如果用数学语言来进行定义:

若将线性表记为(a1, ……, ai-1, ai, ai+1, ……,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当丨=1, 2, ……, n-1时,ai有且仅有一个直接后继,当i=2, 3, ……, n时,ai有且仅有一个直接前驱。

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

在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai是第i个数据元素,称i为数据元素ai在线性表中的位序。

这就是线性表的定义。

线性表数据结构类型定义及相关操作总结

自己边看数据结构边总结出来,方便以后自己查看
  • lollipopwc001
  • lollipopwc001
  • 2016年09月08日 09:50
  • 1026

线性表的定义

线性表的定义 线性表: 零个或多个数据元素的有限序列。 3.1 开场白 各位同学,大家好。 今天我们要开始学习数据结构中最常用和最简单的一种结构,在介绍它之前先讲个例子。 我经常下午去幼儿园接送儿子,...
  • cheng6023
  • cheng6023
  • 2016年10月09日 21:47
  • 1163

数据结构算法代码实现——线性表的定义(一)

线性表的定义 线性表:是最常用且最简单的一种数据结构,它是一种线性数据结构,是由类型相同的n个(n≥0)数据元素组成的有序序列。 线性表的特点:有且只有一个被称作“第一个”的数据元素...
  • hou1620089770
  • hou1620089770
  • 2015年06月08日 10:40
  • 968

线性表的基本概念

一、线性表的定义线性表:零个或多个数据元素的有限序列。几个关键的地方。 首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都只有一个...
  • OREO_GO
  • OREO_GO
  • 2016年08月04日 09:41
  • 4757

数据结构概念篇

针对简单的数据结构,做一个概括性的总结。数据结构的基本概念多做了一个介绍,有什么不明白的,应及时查询了解清楚。...
  • wfenglinxu
  • wfenglinxu
  • 2016年07月18日 16:03
  • 1916

数据结构学习笔记(二)线性表及其C++实现

线性表基础知识以及C++实现
  • baidu_35573762
  • baidu_35573762
  • 2016年07月13日 18:54
  • 643

数据结构中树的基本定义相关概念汇总

定义 树的递归定义如下(个人比较喜欢的定义,源自百度百科): 单个结点是一棵树,树根就是该结点本身。 设T1,T2,..,Tk是树,它们的根结点分别为n1,n2,..,nk。用一个新结点n作为n1,n...
  • tang9140
  • tang9140
  • 2014年09月26日 16:37
  • 2646

我的软考之路(三)——数据结构与算法(1)之线性

数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目,它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值,至...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014年04月18日 07:11
  • 9235

数据结构-线性表-顺序存储结构完整可执行代码

数据结构-线性表-顺序存储结构完整可执行代码(c语言描述)   #include "stdio.h" #define OK 1 #define ERROR 0 #define TRUE 1 #d...
  • hitwhylz
  • hitwhylz
  • 2013年10月05日 13:06
  • 4900

大话数据结构之三:线性表

1.定义: 线性表表示0个或者多个数据元素的有限序列 线性表的特性有: 除第一个元素外,每一个元素均有一个直接前驱 出最后一个元素外,每一个元素均有一个直接后继 2.线性表抽象数据类型 ...
  • longshengguoji
  • longshengguoji
  • 2013年06月27日 23:38
  • 3487
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【数据结构—1】线性表的概念与定义
举报原因:
原因补充:

(最多只允许输入30个字)