线性表-类型定义

线性表(linear_list):

说线性表之前,先要解释一下线性的概念。

所谓的线性结构的特点是:
(前提是在数据元素的非空有限集中,即必须要有数据元素)
(1)有且仅有一个节点没有前驱节点,可以称为根节点;
(2)有且仅有一个节点没有后继节点,可以称为叶子节点;
(3)除上述两种情况外,其他的数据元素均只有一个前驱节点和一个后继节点。

e.g.
我们定义一个数组a[10],那么a[0]就是该数组的根节点,而a[9]就是该数组的叶子节点。a[0]与a[9]之间的元素,就像树的枝干一样,有前驱和后继。

数据结构中的逻辑结构和物理结构都存在着线性结构和非线性结构两种形式。

逻辑结构:
     线性结构:  1:1         (一对一的关系)
     非线性结构: 1:n 或 m:n  (一对多 或者 多对多的关系)

物理结构:
     线性结构:  用连续存储空间(字节)存放数据的方法,例如数组
     非线性结构:不用连续存储空间存放数据的方法,例如线性链表

注:我们所谓的线性表一般是指逻辑结构上的线性结构

线性表:n个数据元素的有限序列。
根据不同的情况,线性表中的数据元素是不同的,根据每个数据元素的具体含义而定。可以是数字、字母,学生管理系统的每个学生信息,等等。

但同一线性表中的元素必定具有相同特性,即属同一数据对象,相邻数据元素之间存在着序偶关系(
序偶:这是离散数学中的概念。可以看作是具有2个元素的集合,但与一般集合不同的是它具有一定的次序。 例如,在集合中{a,b}={b,a},但对序偶〈a,b〉≠〈b,a〉。 )。

线性表根据其长度,可分为:
(1)空表
(2)非空表:非空表中的每个数据元素都有一个确定的位置。


注:以上很多概念的定义是参考清华大学出版社的《数据结构(c语言版)》,由严蔚敏老师和吴伟民老师编著的


作者: licong0527   发布时间: 2010-10-27