ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:41.50KB ,
资源ID:53319      下载积分:8 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-53319.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2016年数据结构 ( 第3次 )作业.doc)为本站会员(文****钱)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

2016年数据结构 ( 第3次 )作业.doc

1、第 3次作业 一、填空题(本大题共 30 分,共 10 小题,每小题 3 分) 1. 栈是一种特殊的线性表,允许插入和删除运算的一端称为 _ 。不允许插入和删除运算的一端称为 _ 。 2. 二叉树由 , , 三个基本单元组成。 3. 构造连通网最小生成树的两个典型算法是 _。 4. 在一个稀疏矩阵中,每个非零元素所对应的三元组包括该元素的 _、_和 _三项。 5. 直接插入排序用监视哨的作用是 _。 6. AOV网中 ,结点表示 _,边表示 _。 AOE网中 ,结点表示 _,边表示_。 7. 已知指针 p指向单链表 L中的某结点,则删除其后继结点的语句是 _。 8. 一棵深度为 6的满二叉树有

2、 _个分支结点和 _个叶子。 9. 已知二叉树前序为 ABDEGCF,中序为 DBGEACF,则后序一定是 。 10. 在哈希文件中,处理冲突的方法通常有 _、 _ 、 _和 _四种。 二、算 法设计题(本大题共 20分,共 2 小题,每小题 10 分) 1. 编写一个算法将一个头结点指针为 pa的单链表 A分解成两个单链表 A和B,其头结点指针分别为 pa和 pb,使得 A链表中含有原链表 A中序号为奇数的元素,而链表 B中含有原链表 A中序号为偶数的元素,且保持原来的相对顺序。 2. 设稀疏矩阵 Mmxn中有 t个非零元素,用三元组顺序表的方式存储。请设计一个算法,计算矩阵 M的转置矩阵

3、N,要求转置算法的时间复杂度为 O(n+t)。 三、简答题(本大题共 20 分,共 4 小题,每小题 5 分) 1. 假设用于通 信的电文由字符集 a,b,c,d,e,f,g,h中的字母构成,这 8个字母在电文中出现的概率分别为 0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10. (1)为这 8个字母设计哈夫曼编码。 (2)若用这三位二进制数 (07) 对这 8个字母进行等长编码,则哈夫曼编码的平均码长是等长编码的百分之几 ?它使电文总长平均压缩多少 ? 2. 若二叉树中各结点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列和中序序列均能唯一地确定一棵

4、二叉树,但由前序序列和后序序列却不一定 能唯一地确定一棵二叉树。 (1)已知一棵二叉树的前序序列和中序序列分别为 ABDGHCEFI 和GDHBAECIF,请画出此二叉树。 (2)已知一棵二叉树的在序序列和后序序列分别为 BDCEAFHG和DECBHGFA,请画出此二叉树。 (3)已知一棵二叉树的前序序列和后序序列分别为 AB和 BA,请画出这两棵不同的二叉树。 3. 试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。 4. 给定集合 15,3,14,2,6,9,16,17 (1)( 3分)用表示外部结点,用 表示内部结点,构造相应的 huffman树: (2) (2分 )

5、计算它的带权路径长度: (3)( 2分 )写出它的 huffman编码: (4)( 3分 )huffman 编码常用来译码,请用语言叙述写出其译码的过程。 四、程序设计题(本大题共 30分,共 2 小题,每小题 15 分) 1. 以二叉链表为存储结构,写出求二叉树叶子总数的算法 2. 设线性表的 n个结点定义为 (a0,a1,.an-1),重写顺序表上实现的插入算法:InsertList 答案: 一、填空题( 30 分,共 10 题,每小题 3 分) 1. 参考答案: 栈顶,栈底 解题方案: 评分标准: 2. 参考答案: 根结点,左子树,右子树 解题方案: 评分标准: 3. 参考答案: 普里姆

6、( prim)算法和克鲁斯卡尔( Kruskal)算法 解题方案: 评分标准: 4. 参考答案: 行号、列号、元素值 解题方案: 评分标准: 5. 参考答案: 免去查找过程中每一步都要检测整个表是否查找完毕,提高了查找效率。 解题方案: 评分标准: 6. 参考答案: (1)活动( 2)活动间的优先关系( 3)事件( 4) 活动边上的权代表活动持续时间 解题方案: 评分标准: 7. 参考答案: q=p-next; p-next=q-next; free(q); 解题方案: 评分标准: 8. 参考答案: n1+n2=0+ n2= n0-1=31, 26-1 =32 解题方案: 评分标准: 9. 参

7、考答案: DGEBFCA 解题方案: 评分标准: 10. 参考答案: 开放地址法、再哈希法、链地址法、建立一个公共溢出区 解题方案: 评分标准: 二、算法设计题( 20 分,共 2 题,每小题 10 分) 1. 参考答案: 将单链表 A中的所有偶数序号的结点删除,并在删除时把这些结点链接起来构成单链表 B。算法如下: #include #include typedef int ElemType; typedef struct LNode ElemType data; /数据域 struct LNode *next; /指针域 LNode,*LinkList; void divide(LinkL

8、ist pb-next=NULL; r=pb; p=pa-next; while(p!=NULL if(q!=NULL) p-next=q-next; r-next=q; r=q; p=p-next; r-next=NULL; 解题方案: 评分标准: 2. 参考答案: 转置可按转置矩阵的三元组表中的元素顺序进行,即按稀疏矩阵的列序。这种方法时间复杂度是 O(n*t),当 t和 m*n同量级时,时间复杂度为 O(n3)。另一种转置方法称作快速转置,使时间复杂度降为 O(m*n)。需要求出每列非零元素个数和每列第一个非零元素在转置矩阵三元组表中的位置,因此设置了两个附加向量。下面分别给出两个算法。

9、 TSMatrixTransMatrix(TSMatrixM,TSMatrix N) 采用三元组表方式存储,按列序实现矩阵的转置 N.m=M.n; N.n=M.m; N.len=M.len; 行数、列数和非零元素个数 if(N.len)q l; 设置 N中第一个非零元素从下标 1开始存储 for(j 1;j M.n;j+) 按列,共 M.n列 for(p 1;p M.len; +p) 在 M.len个元素中查找 if(M.datap.col=j) 转置 N.dataq.row=M.datap.col; N.dataq.col=M.datap.row; N.dataq.e=M.datap.e;

10、q+; return N; TransMatrix TSMatrixFastTransMatrix(TSMatrix M, TSMatrix N) 三元组表上实现矩阵的快速转置的算法 N.m=M.n; N.n=M.m; N.len=M.len; if(M.len) for(j=1;j=M.n;j+) numbj=0; 矩阵 M每一列非零元初始化为零 for(t=1;t=M.len;t+)numbM.datat.col+;求矩阵 M每一列得非零元个数 pos1=1; 第 1列第一个非零元在转置后的三元组中下标是 1 for(j=2;j=M.n;j+) 求 M.data第 j列第一个非零元在 N.

11、data 中的序号 poscol=poscol-1+numcol-1; for(p=1;p=M.len;p+)求转置矩阵 N的三元组表 j=M.datap.col; q=posj; N.dataq.row=M.datap.col; N.dataq.col=M.datap.row; N.dataq.e=M.datap.e; posj+; 同列下一非零元素位置 return N; 解题方案: 评分标准: 三、简答题( 20 分,共 4 题,每小题 5 分) 1. 参考答案: ( 1)哈夫曼编码 P_47E42CBBE4BEF0B3804EEA501687A04A 根据上图 可得编码表: a:100

12、1 b:01 c:10111 d:1010 e:11 f:10110 g:00 h:1000 ( 2)用三位二进行数进行的等长编码平均长度为 3,而根据哈夫曼树编码的平均码长为: 4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.61 2.61/3=0.87=87%其平均码长是等长码的 87%,所以平均压缩率为 13%。 解题方案: 评分标准: 2. 参考答案: (1)已知二叉树的前序序列为 ABDGHCEFI 和中序序列 GDHBAECIF,则可以根据前序序列找到根结点为 A,由此,通过中序序列可知它的两棵子树包分别含有 GDHB和 ECIF结点,又由前序序列可知 B 和 C分别为两棵子树的根结点 .以此类推可画出所有结点:

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。