数据结构期末复习题_第1页
数据结构期末复习题_第2页
数据结构期末复习题_第3页
数据结构期末复习题_第4页
全文预览已结束

下载本文档

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

文档简介

1 1 若用链表存储一棵二叉树时 每个结点除数据域外 还有指向左孩子和右孩子的两个指针 在这种存储结构中 n 个结 点的二叉树共有 个指针域 其中有 个指针域是存放了地址 有 个指针是空指针 2 在一个具有 n 个顶点的无向完全图中 包含有 条边 在一个具有 n 个顶点的有向完全图中 包含有 条边 3 当用长度为 N 的数组顺序存储一个栈时 假定用 top N 表示栈空 则表示栈满的条件是 top 0 4 对于一个长度为 n 的单链存储的线性表 在表头插入元素的时间复杂度为 在表尾插入元素的时间 复杂度为 5 对于一棵具有 n 个结点的二叉树 用二叉链表存储时 其指针总数为 个 其中 个用于指向孩子 个指针是空闲的 6 若对一棵完全二叉树从 0 开始进行结点的编号 并按此编号把它顺序存储到一维数组 A 中 即编号为 0 的结点存储到 A 0 中 其余类推 则 A i 元素的左孩子元素为 右孩子元素为 双亲元 素为 7 一棵高度为 5 的二叉树中最少含有 个结点 最多含有 个结点 1 在带有头结点的单链表 HL 中 要向表头插入一个由指针 p 指向的结点 则执行 A p next HL next HL next p B p next HL HL p C p next HL p HL D HL p p next HL 2 对线性表 在下列哪种情况下应当采用链表表示 A 经常需要随机地存取元素 B 经常需要进行插入和删除操作 C 表中元素需要占据一片连续的存储空间 D 表中元素的个数不变 3 一个栈的输入序列为 1 2 3 则下列序列中不可能是栈的输出序列的是 A 2 3 1B 3 2 1 C 3 1 2 D 1 2 3 2 4 用链接方式存储的队列 在进行插入运算时 A 仅修改头指针 B 头 尾指针都要修改 C 仅修改尾指针 D 头 尾指针可能都要修改 5 以下数据结构中哪一个是非线性结构 A 队列 B 栈 C 线性表 D 二叉树 一 程序编制 每题 10 分 共 40 分 1 设计判断单链表中结点是否关于中心对称算法 2 设计在链式存储结构上建立一棵二叉树的算法 3 3 设有两个集合 A 和集合 B 要求设计生成集合 C A B 的算法 其中集合 A B 和 C 用链式存储结构表示 4 设计在链式存储结构上交换二叉树中所有结点左右子树的算法 5 在链式存储结构上建立一棵二叉排序树 6 设计判断两个二叉树是否相同的算法 7 设计在顺序有序表中实现二分查找的算法 8 设计在链式结构上实现简单选择排序算法 9 假设带表头结点的双向循环链表定义如下 typedef struct dunode char data struct dunode prior next DuNode 现用该链表存放字符串 编写一个算法 判断该字符串是否中心对称关系 例如字符串 xyzzyx 和 xyzyx 都是中心对称的 10 编写一个算法 判断带表头结点的单链表是否递增有序 11 假设以带头结点的单链表表示线性表 单链表的类型定义如下 typedef int DataType typedef struct node DataType data struct node next LinkNode LinkList 编写算法 删除线性表中最大元素 假设最大值唯一存在 函数原型为 void f34 LinkList head 4 12 设二叉树T采用二叉链表结构存储 数据元素为int型 试设计一

温馨提示

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

最新文档

评论

0/150

提交评论