知识大全 数据结构第五章(多维数组与广义表)串讲+复习要点

Posted

篇首语:弱龄寄事外,委怀在琴书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构第五章(多维数组与广义表)串讲+复习要点相关的知识,希望对你有一定的参考价值。

  前面我们学习的 线性表 栈 队列 和 串 都是 线性结构 本章起学习的是非线性结构 它们的逻辑特征是 一个数据元素可能有多个直接前趋和多个直接后继

  本章 重点 是熟悉 多维数组 的 存储方式 矩阵的 压缩存储方式 广义表 的定义及其求表头和表尾的运算 难点 是 稀疏矩阵 的压缩存储表示下实现的算法

  多维数组 ( 领会 )

  多维数组 的 逻辑结构特征 一个m维数组 An n n m的每个元素都属于m个向量 最多可以有m个直接前趋和m个直接后继

  多维数组 的 顺序存储结构 及其 地址计算方式 :计算机的内存结构是一维的 因此将数组元素排成线性序列 然后将这个线性序列存放在存储器中 排列的方式有两种 一是 行优先顺序 也就是把数组按一行一行的顺序依次排列 二是 列优先顺序 就是把数组按一列列的顺序依次排列

  地址的计算方法 我们按行优先顺序排列的数组 是这样计算的 假设每个元素占用d个存储单元 某个元素的地址就是它前面所有行所占的单元加上它所在行前面所有列元素所占的单元数之和 不必去死记公式

  数组是一种 随机存储结构 的原因 因为在顺序存储的情况下 每一个元素都有与其下标相对应的地址 因此可以对数组中的元素进行随机存储

  矩阵的压缩存储 ( 领会 )

  特殊矩阵 的概念 所谓特殊矩阵是指非零元素或零元素分布 有一定规律 的矩阵

  稀疏矩阵 的概念 一个矩阵中若其非零元素的个数 远远小于 零元素的个数 则该矩阵称为稀疏矩阵

  我们在本章学习了对称矩阵 三角矩阵 对角矩阵这三种特殊矩阵 这三种特殊矩阵可以进行压缩存储 主要要理解的是其下标变换方法

  稀疏矩阵 的压缩存储方式 三元组表 就是把非零元素的值和它所在的行号列号做为一个结点存放在一起 用这些结点组成的一个线性表(三元组表)来表示这个稀疏矩阵 但是这种压缩存储方式将失去随机存储功能

  相关算法的理解要建立在对三元组表的结构的全面掌握的基础上 但是本章的算法考试应不作要求

  广义表的概念( 领会 )

  广义表 又称列表(Lists) 是线性表的推广 就是说 广义表中的元素不仅可以是数或一个结构 而且推广到可以是一个表(这个表又可以是广义表) 所以 广义表是n(n≥ )个元素a a a an的有限序列 其中的ai或者是原子或者是一个广义表 (为什么叫原子?因为原子是作为结构上不可分割的成分 )

  广义表 表头 和 表尾 的概念 若广义表LS非空(n≥ ) 则这个广义表的 第一个 元素就是表头 (这个表头可以是原子 也可以是该广义表的子表 )而 其余的元素 组成的表称为LS的表尾(要注意 不是最后一个元素 这和队列的队尾是不同的) 所以表尾必是一个子表

  广义表有两种表示法 一种是 括号表示 法 一种是 图形表示 法 括号表示时 一般以大写字母表示广义表 以小写字母表示原子 如 A(x L(a b)) 用图形表示时 图形中的分支结点对应广义表 非分支结点一般表示原子 如果一个广义表与树(形结构)相对应 这个广义表就是纯表 如果一个广义表的结点又可以被其他结点所共享 则这个表称为再入表 允许递归的表称为递归表

  有一个关系式 递归表(包含)再入表(包含)纯表(树)(包含)线性表 可见 广义表是对线性表和树的推广

  广义表有两个特殊的基本运算 取表头head(LS) 和 取表尾tail(LS) (我们看到tail这个词就是尾巴 是一条尾巴 而不是末尾 它可能是一个原子 但这个原子是作为子表来看待的)

  取表头和表尾的运算要在 广义表非空 的情况下进行 注意广义表()表示是空表 (())则表示有一个元素的广义表 这个元素是一个空表

  这两个运算很容易理解也应该掌握

  第五章 多维数组和广义表 复习要点

  本章复习要点是

  多维数组和广义表的逻辑结构特征 它们是复杂的非线性结构 一个数据元素可能有多个直接前趋和多个直接后继

  多维数组的两种顺序存储方式 行优先顺序和列优先顺序 这两种存储方式下的地址计算方法

  几种特殊矩阵的特征及其压缩存储地址对应关系

  稀疏矩阵的三元组表示(画图形表示)

  广义表是线性表的推广 也是树的推广

  能画出广义表的图形表示法

  广义表的取表头运算与取表尾运算要注意 表头是广义表的第一个元素 它不一定是原子 表尾则必是子表

cha138/Article/program/sjjg/201311/23666

相关参考

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[34]

  数组广义表与线性表之间有什么样的关系?【西北工业大学一(分)】  什么是广义表?请简述广义表和线性表的主要区别【北京大学二(分)】  求下列广义表的运算结果【南京航空航天大学 三(分)】

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[4]

  二维数组A的每个元素是由个字符组成的串其行下标i=…列下标j=…若A按行先存储元素A[]的起始地址与当A按列先存储时的元素(   )的起始地址相同设每个字符占一个字节

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[30]

  设对称矩阵A=  ()若将A中包括主对角线的下三角元素按列的顺序压缩到数组S中即S:  试求出A中任一元素的行列下标[ij](<=ij<=)与S中元素的下标K之间的关系  ()若将A视

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[31]

  设对角线矩阵A=(行列下标ij满足≤ij≤)  ()若将矩阵A压缩存储到数组S中  试求出A中已存储之元素的行列下标(ij)与S中元素的下标K之间的关系  ()若将A视为稀疏距阵时请画出其行逻辑链

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[45]

  广义表GL=(aa…an)其中ak(k=n)或是单个数据元素(原子)或仍然是个广义表给定如下有关广义表的类型定义  TYPEtagtype=;  glist=^gnode;  gnode=RECO

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[8]

  下面说法不正确的是(    )【南京理工大学一(分)】  A广义表的表头总是一个广义表     B广义表的

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[1]

  第五章 数组和广义表  一选择题  设有一个阶的对称矩阵A采用压缩存储方式以行序为主存储a为第一元素其存储地址为每个元素占一个地址空间则a的地址为(   )

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[13]

  当广义表中的每个元素都是原子时广义表便成了_______【长沙铁道学院二(分)】  广义表的表尾是指除第一个元素之外_______【中山大学 一(分)】  广义表简称表是由零个或多个原子

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[36]

  画出下列广义表的两种存储结构图(()A(B(CD))(EF))【南京航空航天大学三(分)】  假设采用以下两种结点的链表作为广义表的存贮结构表结点(tag=hptp) 元素结点(tag=

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[9]

  广义表的取表尾运算其结果通常是个表但有时也可是个单元素值(   )【南京航空航天大学六(分)】  若一个广义表的表头为空表则此广义表亦为空表(