研究生数据结构作业2016(更新版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:
(1)平时作业共20分; (2)交纸质作业;
(3)所有作业请按时交纳,不收补交作业。
栈、队列、数组 作业一:
1. 若进栈序列为ABCD ,请写出全部可能的出栈序列和不可能的出栈序列。 2. 简要说明循环队列如何判断队满和队空? 3. 设A 为n 阶对称矩阵,采用压缩存储存放于一维数组F[n(n+1)/2]中(从F[0]
开始存放),请分别给出存放上三角阵时任一矩阵元素a ij (1≤i,j ≤n )的地址计算公式和存放下三角阵时任一矩阵元素a ij (1≤i,j ≤n )的地址计算公式。
4. 写出下面稀疏矩阵的三元组顺序表和十字链表表示。
树
作业二:
1. 请分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。
2. 已知二叉树的先序遍历序列是EABDCFHGIKJ ,中序遍历序列是ABCDEFGHIJK ,
请构造二叉树,并写出其层次遍历序列和后序遍历序列。
3. 假设用于通信的电文由7个字母{A,B,C,D,E,F,G}组成,字母在电文中出现
的频率分别为0.17、0.09、0.12、0.06、0.32、0.03、0.21。试为这7个字母设计哈夫曼编码(约定哈夫曼树中左孩子结点的权值小于等于右孩子结点的权值),并计算其带权路径长度WPL 。 4. 将下图所示的森林转换成一棵二叉树。
A
B C D G
H I J K
E F
L
5. 将下图所示的二叉树还原成树或森林。
4000005030080
00000000700200000A ⎡⎤
⎢⎥⎢⎥⎢⎥
=⎢⎥
⎢⎥⎢⎥⎣⎦
图Array作业三:
1.已知带权有向图如图所示。
(1) 画出该图的邻接矩阵存储结构;
(2) 求从顶点a到其余各顶点之间的最短路经及
最短路经长度,并给出计算过程。
2.无向图邻接表存储结构如图所示:
(1) 画出该无向图;
(2) 写出在该邻接表上,从顶点1出发所得到的深度优先遍历(DFS)和广度优先
遍历(BFS)序列。
1
2
3
4
5
6
7
8
3. 已知带权无向图如图所示:
(1)根据普里姆(Prim)算法,求它的从顶点a出发的最
小生成树(写出过程,即添加顶点、边次序);
(2)根据克鲁斯卡尔(Kruskal)算法,求该图的最小生
成树(写出过程,即添加边次序)。
查找、排序
作业四:
1.对下标为1~9的有序表进行折半查找,画出折半查找的判定树;并计算在等概率情况下查找成功的平均查找长度ASL。
2.设有关键字序列{25,40,33,47,12,66,72,87,94,22,5,58},散列表长12,散列函数为h(key)=key%11,用线性探查再散列、链地址法处理冲突,请分别画出散列表,并计算ASL。
3.已知待排序序列为{50,86,72,41,45,93,57,46},请写出按下列排序方法进行升序排序时的第一趟排序结果:
①直接插入排序;
②冒泡排序;
③快速排序;
④简单选择排序;
⑤ 2路归并排序;
⑥堆排序初建堆序列(大顶堆)。
4.设计一种方法,以不大于2n-3次的比较在顺序存储的n(n>=2)个数中同时找出最大和最小值。