武汉理工大学数据结构复习题.pdf_第1页
武汉理工大学数据结构复习题.pdf_第2页
武汉理工大学数据结构复习题.pdf_第3页
武汉理工大学数据结构复习题.pdf_第4页
武汉理工大学数据结构复习题.pdf_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学数据结构复习题 1 复习题集复习题集 一判断题一判断题 1 线性表在物理存储空间中也一定是连续的 2 顺序存储方式只能用于存储线性结构 3 栈是一种对所有插入 删除操作限于在表的一端进行的线性表 是一种后进先出型结构 4 两个栈共享一片连续内存空间时 为提高内存利用率 减少溢出机会 应把两个栈的栈底分别设 在这片内存空间的两端 5 二叉树的度为 2 6 若二叉树用二叉链表作存贮结构 则在n 个结点的二叉树链表中只有 n 1 个非空指针域 7 二叉树中每个结点的两棵子树的高度差等于 1 8 用二叉链表法存储包含 n 个结点的二叉树 结点的 2n 个指针区域中有 n 1 个为空指针 9 在冒泡法排序中 关键值较小的元素总是向前移动 关键值较大的元素总是向后移动 10 计算机处理的对象可以分为数据和非数据两大类 11 数据的逻辑结构与各数据元素在计算机中如何存储有关 12 算法必须用程序语言来书写 13 判断某个算法是否容易阅读是算法分析的任务之一 14 顺序表是一种有序的线性表 15 分配给顺序表的内存单元地址必须是连续的 16 栈和队列具有相同的逻辑特性 17 树形结构中每个结点至多有一个前驱 18 在树形结构中 处于同一层上的各结点之间都存在兄弟关系 20 如果表示图的邻接矩阵是对称矩阵 则该图一定是无向图 21 如果表示图的邻接矩阵是对称矩阵 则该图一定是有向图 22 顺序查找方法只能在顺序存储结构上进行 23 折半查找可以在有序的双向链表上进行 24 满二叉树中不存在度为 1 的结点 25 完全二叉树中的每个结点或者没有孩子或者有两个孩子 26 对 n 个元素知心快速排序 在进行第一次分组时 排序码的比较次数总是 n 1 次 27 在有向图中 各顶点的入度之和等于各顶点的出度之和 一一 选择题 选择题 1 在在 n 个结点的顺序表中 算法的时间复杂度是个结点的顺序表中 算法的时间复杂度是 O 1 的操作是的操作是 A 访问第 i 个结点 1 i n 和求第 i 个结点的直接前驱 2 i n C 删除第 i 个结点 1 i n B 在第 i 个结点后插入一个新结点 1 i n D 将 n 个结点从小到大排序 2 算法分析的目的是 算法分析的目的是 A 找出数据结构的合理性 B 研究算法中的输入和输出的关系 C 分析算法的效率以求改进 D 分析算法的易懂性和文档性 武汉理工大学数据结构复习题 2 3 算法分析的两个主要方面是 算法分析的两个主要方面是 A 空间复杂性和时间复杂性 B 正确性和简明性 C 可读性和文档性 D 数据复杂性和程序复杂性 4 计算机算法必须具备输入 输出和计算机算法必须具备输入 输出和 等等 5 个特性 个特性 A 可行性 可移植性和可扩充性 B 可行性 确定性和有穷性 C 确定性 有穷性和稳定性 D 易读性 稳定性和安全性 5 一个向量第一个元素的存储地址是一个向量第一个元素的存储地址是 100 每个元素的长度为 每个元素的长度为 2 则第 则第 5 个元素的地址是个元素的地址是 A 110 B 108 C 100 D 120 5 链接存储的存储结构所占存储空间 链接存储的存储结构所占存储空间 A 分两部分 一部分存放结点值 另一部分存放表示结点间关系的指针 B 只有一部分 存放结点值 C 只有一部分 存储表示结点间关系的指针 D 分两部分 一部分存放结点值 另一部分存放结点所占单元数 6 一个栈的输入序列为一个栈的输入序列为 1 2 3 n 若输出序列的第一个元素是 若输出序列的第一个元素是 n 输出第 输出第 i 1 i n 个元素 个元素 是 是 A 不确定 B n i 1 C i D n i 7 最大容量为最大容量为 n 的循环队列 队尾指针是的循环队列 队尾指针是 rear 队头是 队头是 front 则队空的条件是 则队空的条件是 A rear 1 n front B rear front C rear 1 front D rear l n front 8 循环队列循环队列 A 0 m 1 存放其元素值 用存放其元素值 用 front 和和 rear 分别表示队头和队尾 则当前队列中的元素数分别表示队头和队尾 则当前队列中的元素数 是是 A rear front m m B rear front 1 C rear front 1 D rear front 9 按照二叉树的定义 具有按照二叉树的定义 具有 3 个结点的二叉树有 个结点的二叉树有 种 种 A 3 B 4 C 5 D 6 10 具有具有 n n 0 个结点的完全二叉树的深个结点的完全二叉树的深度为度为 log2 n log2 n log2 n 1 log2 n 1 11 在高度为 在高度为 h 的完全二叉树中 表述正确的是 的完全二叉树中 表述正确的是 A 度为 0 的结点都在第 h 层上 B 第 i 1 i h 层上的结点都是度为 2 的结点 C 第 i 1 i h 层上有 2i 1个结点 D 不存在度为 1 的结点 12 深度为深度为 5 的二叉树至多有 的二叉树至多有 个结点 个结点 A 32 B 31 C 16 D 10 13 用邻接表表示图进行深度优先遍历时 通常采用用邻接表表示图进行深度优先遍历时 通常采用 结构来时实现算法 结构来时实现算法 A 栈 B 队列 C 树 D 图 14 对对 N个记录作顺序查找时 当查找成功时 平均查找长度是 个记录作顺序查找时 当查找成功时 平均查找长度是 A N2 B N2 2 C N D N 1 2 15 当一个有当一个有 n 个顶点的图用邻接矩阵个顶点的图用邻接矩阵 A 表示时 顶点表示时 顶点 Vi 的度是 的度是 16 某算法的时间复杂度为 某算法的时间复杂度为 O 2n 表明该算法的 表明该算法的 A 问题规模是 2n B 执行时间等于 2n C 执行时间近似与 2n成正比 D 问题的规模近似与 2n成正比 17 二叉树为空 意味着二叉树 二叉树为空 意味着二叉树 武汉理工大学数据结构复习题 3 A 由一些没有赋值的空结点构成 B 根结点没有子树 C 不存在 D 没有结点 18 数据结构的研究内容不涉及 数据结构的研究内容不涉及 A 数据如何组织 B 数据如何存储 C 数据的运算如何实现 D 算法用什么语言描述 19 在存储数据时 通常不仅要存储各数据元素的值 而且还要存储在存储数据时 通常不仅要存储各数据元素的值 而且还要存储 A 数据的处理方法 B 数据元素的类型 C 数据元素之间的关系 D 数据的存储方法 20 数据采用顺序存储 要求 数据采用顺序存储 要求 A 存储的是属于线性结构的数据 B 根据结点值的大小 有序存放各结点 C 按存储单元地址由低到高的顺序存放各结点 D 各结点存放方法有规律 能隐含表示结点间的逻辑关系 21 一个顺序表所占存储空间大的大小与 一个顺序表所占存储空间大的大小与 无关 无关 A 顺序表长度 B 结点类型 C 结点中各字段的类型 D 结点存放顺序 22 数据采用链接存储 要求 数据采用链接存储 要求 A 每个结点占用一片连续的存储区域 B 所有结点占用一片连续的存储区域 C 结点的最后一个字段是指针型的字段 C 每个结点有多少个后继 就设多少个指针字段 23 算法的时间复杂度与 算法的时间复杂度与 有关有关 A 问题规模 B 计算机硬件性能 C 编译程序质量 D 程序设计语言 24 在程序中 为了设置一个空的顺序表 必须 在程序中 为了设置一个空的顺序表 必须 A 给各数组元素赋空值 B 给各顺序表元素赋空值 C 给表示顺序表长度的变量赋初始值 D 给数组变量名赋初始值 25 若变量 若变量 H 是某个带表头结点循环单向链表的表头指针 则在该链表最后的一个结点的是某个带表头结点循环单向链表的表头指针 则在该链表最后的一个结点的后继指针域后继指针域 中存放的是中存放的是 A H 的地址 B H 的值 C 表头结点的值 D 第一个结点的地址 26 栈和队列的共同点在于 栈和队列的共同点在于 A 逻辑特性 B 存储结构 C 运算方法 D 元素类型 27 栈和队列的共同点在于 栈和队列的共同点在于 A 都对存储方法作了限制 B 都是只能进行插入 删除运算 C 都对插入 删除的位置作了限制 D 都对插入 删除两中操作的先后顺序作了限制 28 若 若 5 个元素的进栈序列是个元素的进栈序列是 1 2 3 4 5 则不可能得到出栈序列 则不可能得到出栈序列 A 1 2 3 4 5 B 3 4 2 5 1 C 4 2 1 3 5 D 5 4 3 2 1 29 顺序循环队列中是否可以插入下一个元素 顺序循环队列中是否可以插入下一个元素 A 与队首指针和队尾指针的值有关 B 只与队尾指针的值有关 与队首指针的值无关 C 只与数组大小有关 与队首指针和队尾指针的值无关 D 与曾经进行过多少次插入操作有关 30 在顺序队列中 元素的排列顺序 在顺序队列中 元素的排列顺序 A 由元素插入队列的先后顺序决定 B 与元素值的大小有关 C 与队首指针和队尾指针的取值有关 D 与数组大小有关 31 在高度为在高度为 h 的完全二叉树中 的完全二叉树中 A 度为 0 的结点都在第 h 层上 B 第 i 1 i h 层上的结点都是度为 2 的结点 C 第 i 1 inext 2 P next P 3 P next P next next 4 P next P next next 5 while P NULL P P next 6 while Q next NULL P Q Q Q next 7 while P next Q P P next 8 while P next next Q P P next 9 while P next next NULL P P next 10 Q P 11 Q P next 12 P L 13 L L next 14 free Q 3 栈是一种特殊的线性表 允许插入和删除运算的一端称为 不允许插入和删除运算的一端称 为 4 用 S 表示入栈操作 X 表示出栈操作 若元素入栈的顺序为 1234 为了得到 1342 出栈顺序 相应的 S 和 X 的操作串为 5 数据的逻辑结构可以分为 和 两大类 6 数据的运算用 表示 7 逻辑上相邻的结点在存储器中也相邻 这是 存储结构的特点 8 在长度为 n 的顺序表上实现定位操作 其算法的时间复杂度为 9 为了实现随机访问 线性结构应该采用 存储 10 在长度为 n 的顺序表中插入一个元素 最多要移动 个元素 11 栈的存储结构主要有 和 两种 12 在编写程序的时候 如果栈的最大长度难以预先估计 则最好使用 栈 13 在树形结构中 如果某结点 则称该结点为根结点 如果某结点 则称该结点为叶子 14 在树形结构中 每个结点最多只有一个前驱 15 由 3 个结点所构成的二叉树有 种形态 16 二叉树的前序遍历按如下三个步骤进行 17 二叉树的中序遍历按如下三个步骤进行 18 在 n 个顶点的无向图中 至少有 条边 至多有 条边 A C E B F G D H 武汉理工大学数据结构复习题 5 19 在 n 个顶点的有向图中 至少有 条边 至多有 条边 20 如果排序不改变关键字相同的记录之间的相对次序 则称该排序方法是稳定的 21 如果排序改变了关键字相同的记录之间的相对次序 则称该排序方法是不稳定的 22 在一个图中 所有顶点的度数之和是所有边数的 倍 23 无向图中边的数目等于邻接矩阵中非零元素个数的 倍 24 在有序表 2 4 6 8 10 12 14 16 18 上用折半查找法查找元素 9 其中第二次被比较的元素 是 25 在有序表 2 4 6 8 10 12 14 16 18 上用折半查找法查找元素 9 其中第三次被比较的元素 是 三 三 简答题简答题 1 写出下列程序段的输出结果 队列中的元素类型 QElem Type 为 char void main Queue Q Init Queue Q Char x e y c EnQueue Q h EnQueue Q r EnQueue Q y DeQueue Q x EnQueue Q x DeQueue Q x EnQueue Q a while QueueEmpty Q DeQueue Q y printf y Printf x 2 简述以下算法的功能 栈和队列的元素类型均为 int void algo3 Queue int d InitStack S while QueueEmpty Q DeQueue Q d Push S d while StackEmpty S Pop S d EnQueue Q d 3 描述以下三个概念的区别 头指针 头结点 首元结点 第一个元素结点 在单链表中设置头结点的作 用是什么 答 首元结点是指链表中存储线性表中第一个数据元素 a1的结点 为了操作方便 通常在链表的首元结 点之前附设一个结点 称为头结点 该结点的数据域中不存储线性表的数据元素 其作用是为了对链表进行 操作时 可以对空表 非空表的情况以及对首元结点进行统一处理 头指针是指向链表中第一个结点 或为 头结点或为首元结点 的指针 若链表中附设头结点 则不管线性表是否为空表 头指针均不为空 否则表 示空表的链表的头指针为空 这三个概念对单链表 双向链表和循环链表均适用 是否设置头结点 是不同 的存储结构表示同一逻辑结构的问题 头结点 武汉理工大学数据结构复习题 6 head data link 头指针 首元结点 简而言之 头指针是指向链表中第一个结点 或为头结点或为首元结点 的指针 头结点是在链表的首元结点之前附设的一个结点 数据域内只放空表标志和表长等信息 内放头指针 那还得另配一个头指针 首元素结点是指链表中存储线性表中第一个数据元素 a1的结点 4 对以下单链表执行下列语句 简述代码的功能 并画出单链表结果示意图 T L while T next NULL T data 2 T data T T next 5 请画出下图的邻接矩阵和邻接表 6 树和二叉树之间有什么样的区别与联系 7 一棵二叉树中的结点的度或为 0 或为 2 则二叉树的枝数为 2 n0 1 其中 n0 是度为 0 的结点的个数 8 一个深度为 L 的满 K 叉树有以下性质 第 L 层上的结点都是叶子结点 其余各层上每个结点都有 K 棵非 空子树 如果按层次顺序从 1 开始对全部结点进行编号 求 1 各层的结点的数目是多少 2 编号为 n 的结点的双亲结点 若存在 的编号是多少 3 编号为 n 的结点的第 i 个孩子结点 若存在 的编号是多少 4 编号为 n 的结点有右兄弟的条件是什么 如果有 其右兄弟的编号是多少 请给出计算和推导过程 9 如果用一个循环数组 q 0 m 1 表示队列时 该队列只有一个队列头指针 front 不设队列尾指针 rear 而改置计数器 count 用以记录队列中结点的个数 1 编写实现队列的三个基本运算 判空 入队 出队 2 队列中能容纳元素的最多个数是多少 10 已知一棵二叉树的前序遍历结果为 ABCDEF 中序遍历结果为 CBAEDF 画出此二叉树 并给出其后序 遍历的结果 11 设如下图所示的二叉树 B 的存储结构为二叉链表 root 为根指针 结点结构为 lchild data rchild 其 中 lchild rchild 分别为指向左右孩子的指针 data 为字符型 root 为根指针 试回答下列问题 1 对下列二叉树 B 执行下列算法 traversal root 试指出其输出结果 2 5 7 3 8 L 武汉理工大学数据结构复习题 7 2 假定二叉树 B共有 n 个结点 试分析算法 traversal root 的时间复杂度 二叉树 B 12 设要将序列 Q H C Y P A M S R D F X 中的关键码按字母序的升序重新排列 简述快速排序的思 路 并以第一个元素为轴中心 给出用快速排序对序列一趟扫描的结果 四 算法填空四 算法填空 1 假设线性表用不带头结点的单向链表表示 结点数据类型如下 struct node int s node next 下面的算法用于求线性表的长度 请在方框中填入适当的内容 将算法补充完整 int GetLinkLen node h int s s 0 s s 1 return s 2 设有 n 个顺序表元素存放在数组 v 1 v n 中 数组 v 的最大下标为 n0 元素类型为 TElem 下面的算法 用于删除顺序表中第一个值为 x 的元素 请在方框中填入适当内容 将算法补充完整 void DeleValue TElem x A B D C F G E C 的结点类型定义如下 struct node char data struct node lchild rchild C 算法如下 void traversal struct node

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论