文章目录
- 前言
前言
提示:第四章知识点小结记录了我认为的重点:
一、已知数组下标(i,j),确定其存储地址k
1. 对称矩阵
[特点] 在n✖n的矩阵a中,满足性质:aij=aji (1<=i, j<=n)
[存储方法] 只存储下(或者上)三角(包括主对角线)的数据元素。共占用n(n 1)/2个元素空间。
- 三角矩阵
[特点] 对角线以下(或者以上)的数据元素(不包括对角线)全部为常数c。
[存储方法] 重复元素c共享一个存储空间,共占用n(n 1)/2 1个元素空间
a11 | a12 | a13 | A22 | A23 | A33 | c |
---|
K= 1 2 3 4 5 6 7
a11 | a12 | a13 | A22 | A23 | A33 | c |
---|
K= 1 2 3 4 5 6 7
- 广义表
1.广义表,也称列表,即线性表的推广。
2.广义表(列表):n (>=0 )个表元素组成的有限序列,
记作LS = (a0, a1, a2, …, an-1)
LS是表名,ai是表元素,它可以是数据元素(称为原子),也可以是表 (称为子表)。习惯上,大写字母表示表名, 小写字母表示原子。
n为表的长度。
n = 0 的广义表为空表。
此处举个栗子:(供大家举一反三)
(1)A=()—A是一个空表,长度为0。
(2)B=(e)—B只有一个原子,表长为1。
(3)C=(a,(b,c))—表长为2,两个元素分别是原子和子表。
(4)D=(A,B,C)—表长为3,三个元素均为子表。
D=((),(e),(a,(b,c)))
- E=(a,E)—递归表,表长为2.
- 广义表与线性表的区别
线性表的成分都是结构上不可分的单元素
广义表的成分可以是单元素,也可以是有结构的表
线性表是一种特殊的广义表
广义表不一定是线性表,也不一定是线性结构
4.广义表的基本运算
(1)求表头GetHead(L):非空广义表的第一个元素,可以是一个单元素,也可以是一个子表
(2)求表尾GetTail(L):非空广义表除去表头元素以外其它元素所构成的表。表尾一定是一个表
5.广义表的特点
有次序性 | 一个直接前驱和一个直接后继 |
---|---|
有长度 | 表中元素个数 |
有深度 | 表中括号的重数 |
可递归 | 自己可以作为自己的子表 |
可共享 | 可以为其他广义表所共享 |
此处举个栗子(同学们可以练习一下)
A =( ) | n=0,因为A是空表 |
---|---|
B = ( e ) | n=1,表中元素e是原子 |
C =( a ,( b , c , d ) ) | n=2,a 为原子,(b,c,d)为子表 |
D=( A , B ,C ) | n=3,3个元素都是子表 |
E=(a, E) | n=2,a 为原子,E为子表 |
终于结束啦!同学们继续加油噢,这本书已经过半了。