数据结构 庄朝晖 chzhuang@jingxian.xmu.edu.cn
数据结构 庄朝晖 chzhuang@jingxian.xmu.edu.cn
第二章 线性表 ■2.1线性表的类型定义 ■2.2线性表的顺序表示和实现 ■2.3线性表的链式表示和实现 2.3.1线性链表 2.3.2循环链表 2.3.3双向链表 2.4一元多项式的表示及相加
第二章 线性表 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 2.3.1 线性链表 2.3.2 循环链表 2.3.3 双向链表 2.4 一元多项式的表示及相加
■2.1线性表的逻辑结构 线性表(Linear List):由nn2)个数据元素(结点)a, a2,.an组成的有限序列。其中数据元素的个数 n定义为表的长度。当n=0时称为空表,常常将非 空的线性表(n>0)记作: (a1,a2,.an) ■这里的数据元素a(1≤≤n)只是一个抽象的符号, 其具体含义在不同的情况下可以不同。 ■例1、26个英文字母组成的字母表 (A,B,C、.、Z) ■例2、某校从1978年到1983年各种型号的计算机 拥有量的变化情况。 (6,17,28,50,92,188)
2.1 线性表的逻辑结构 线性表(Linear List) :由n(n≧)个数据元素(结点)a1, a2, .an组成的有限序列。其中数据元素的个数 n定义为表的长度。当n=0时称为空表,常常将非 空的线性表(n>0)记作: (a1,a2,.an ) 这里的数据元素ai (1≦i≦n)只是一个抽象的符号, 其具体含义在不同的情况下可以不同。 例1、26个英文字母组成的字母表 (A,B,C、.、Z) 例2、某校从1978年到1983年各种型号的计算机 拥有量的变化情况。 (6,17,28,50,92,188)
例3、学生健康情况登记表如下: 姓名 学号 性别 年龄 健康情况 王小林 790631 男 18 健康 陈红 790632 女 20 一般 刘建平 790633 男 21 健康 张立立 790634 男 17 神经衰弱 ”。 。n ”。1。
例3、学生健康情况登记表如下: 姓 名 学 号 性 别 年龄 健康情况 王小林 790631 男 18 健康 陈 红 790632 女 20 一般 刘建平 790633 男 21 健康 张立立 790634 男 17 神经衰弱 . . . .
例4、一副扑克的点数 (2,3,4,yJ,Q,K,A) 从以上例子可看出线性表的逻辑特征是: 在非空的线性表,有且仅有一个开始结点©4 它没有直接前趋,而仅有一个直接后继©2: 有且仅有一个终端结点©n:它没有直接后继, 而仅有一个直接前趋an- 其余的内部结点a(2≤sn-1)都有且仅有一个直接 前趋a和一个直接后继a计 线性表是一种典型的线性结构。 数据的运算是定义在逻辑结构上的,而运算的 具体实现则是在存储结构上进行的。 抽象数据类型的定义为:P9
例4、一副扑克的点数 (2,3,4,.,J,Q,K,A) 从以上例子可看出线性表的逻辑特征是: ➢ 在非空的线性表,有且仅有一个开始结点a1, 它没有直接前趋,而仅有一个直接后继a2; ➢ 有且仅有一个终端结点an,它没有直接后继, 而仅有一个直接前趋a n-1; ➢ 其余的内部结点ai (2≦i≦n-1)都有且仅有一个直接 前趋a i-1和一个直接后继a i+1。 线性表是一种典型的线性结构。 数据的运算是定义在逻辑结构上的,而运算的 具体实现则是在存储结构上进行的。 抽象数据类型的定义为:P19