数据结构复习笔记四:数组和广义表

来源:互联网 发布:徐老师淘宝店衣服 编辑:程序博客网 时间:2024/06/05 12:01

一、数组

1、数组:定长线性表在维数上的扩张,即线性表的元素又是一个线性表

2、数组的结构特点

1)数据元素数目固定。一旦定义了一个数组结构,就不再有元素个数的增删变化

2)数据元素具有相同的类型

3)数据元素的下标关系具有上下界的约束并且下标有序

3、数组的两个基本操作

1)给定一组下标,存取相应的数据元素

2)给定一组下标,修改相应的数据元素中某个数据项的值


二、数组的顺序表示

1、数组适合于采用顺序存储结构

2、二维数组的存储结构可以分为以行为主序以列为主序的两种方法

3、以行为主序优先存储的地址计算公式

4、以列为主序优先存储的地址计算公式

5、数组的顺序存储表示和实现(了解)


三、矩阵

1、特殊矩阵:若矩阵中元素(或非0元素)的分布有一定的规律,对称矩阵、三角矩阵和对角矩阵。

1)对称矩阵

a)存储元素个数

b)一维数组与矩阵元素个数的对应关系

2)三对角矩阵一维数组与矩阵元素个数的对应关系

2、稀疏矩阵

1)稀疏因子(0.05)

2)稀疏矩阵的三元组表的顺序存储结构称为三元组顺序表,常用的三元组表的链式存储结构是十字链表

3)行逻辑链接的顺序表:包含指示行信息的辅助数组固定在稀疏矩阵的存储结构中(计算规则)

4)十字链表(5个域i、j、e、right、down)|(图5.6稀疏矩阵M的十字链表)


四、广义表

1、广义表的定义可以是单个元素(原子),也可以是广义表(子表)

2、表头

3、表尾(其余元素)

4、广义表的举例 A=()|B=(e)|C=(a,(b,c,d))|D=(A,B,C)|E=(a,E)

5、广义表的特点

1)广义表可以是多层次的结构,因为广义表的元素可以是子表,而子表的元素可以是子表

2)广义表的元素可以是已经定义的广义表的名字,所以一个广义表是可以被其他广义表所共享

3)广义表可以是一个递归的表,即广义表中的元素也可以是本广义表的名字

4)广义表的存储结构(图5.8 列表的链表结点结构 )|(图5.9广义表的存储结构)|(图5.10列表的另外一种结点

构)|(图5.11列表的另一种链表表示)

6、m元多项式的表示:先分解出一个主变元,随后再分解为第二个变元,依次类推。(书P111-112)



0 0
原创粉丝点击