2006解放军理工大学指挥自动化学院考研专业课数据结构与概率论.doc

2006解放军理工大学指挥自动化学院考研专业课数据结构与概率论.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2006解放军理工大学指挥自动化学院考研专业课数据结构与概率论

本文由wkszksyfnu贡献 本文由胥秀峰贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 机密★启用前 中国人民解放军理工大学 2006 年全国硕士研究生入学统一考试试卷 考试科目代码:405 考试科目名称:数据结构与概率论 说明:所有答案必须按序号书写在考场提供的答题纸上,可不抄 写原题,否则一律无效。 数据结构部分 一、 (本题共 1 小题,每小题 15 分,满分 15 分) 下图是一个散列表 A[17]。用开放地址法解决冲突。冲突时, 使用增量序列 di=6i。表中标“#”的单元表示已有元素占用。现 在表中依次插入五个元素:a,b,c,d,e;已知它们的散列函数 值依次等于:5,3,8,11,9。请将 a,b,c,d,e 填写在散列表 中(请将下表抄写到答题纸上,并在答题纸上填空) 。 A 0 1 2 3 # 4 5 # 6 7 8 9 # 10 11 # 12 13 14 15 # 16 二、 (本题共 3 小题,每小题 5 分,满分 15 分) 1、已知检索树的先序序列是“18,16,8,29,21,27,38” 。 那么,它的后序序列是。 第 1 页(共 8 页) 2、试画出由权 14,7,8,2,5,4,23 所构造的哈夫曼树, 并求出该哈夫曼树的加权路径长度 WPL(要求列出计算步骤) 。 3、设数组 a[MAX]用于存储两个栈 S1 和 S2,这两个栈的栈底 分别固定在数组的两端,使它们迎面增长。 试写出与下面进栈函数 push 相配套的退栈函数。 进栈函数: int push(int a[ ],int top1,int top2,int x,int i) // top1 和 top2 分别是栈 S1 和 S2 和栈顶指针,其初值为,top1=-1, top2=MAX //i 是栈号,i=1 表示对栈 S1 操作;i=2 表示对栈 S2 操作 //x 是准备进栈的元素 //返回 0:表示栈满,进栈失败;返回 1:表示进栈成功 { if(top1+1= =top2)return 0; //栈满 if(i= =1) a[++top1]=x; else a[--top2]=x; return 1; } 退栈函数的函数头形如: int pop(int a[ ],int top1,int top2,int x,int i) //返回 0:表示栈空,退栈失败;返回 1:表示退栈成功 三、算法填空题(本题共 2 小题,每小题 15 分,满分 30 分) (1) 注意:编号相同的空内,填写相同内容) (注意:编号相同的空内,填写相同内容) 。 函数 inition 通过输入无向图的边序列,构造邻接表(供先深 搜索用) 。 #define M 50 //定义最大顶点数 typedef struct edge_node //边结点类型 第 2 页(共 8 页) { int adjacent; struct edge_node *next; }edge, *Eptr; typedef struct //表头结点类型 { int mark; Eptr firstedge; //邻接表首指针 }hnode; hnode L[M]; // 邻接表 int n; // 定义顶点数 构造邻接表的函数如下: void inition( ) { int v,w; Eptr p; for(v=0;vn;v++) L[v].firstedge=(1); printf(请输入边序列。若顶点 v 的编号小于 0,则表示输入结束\n ); scanf(%d%d,v,w); while(v=0) { p=(Eptr)malloc(sizeof(edge)); p-adjacent=w; (2) =L[v].firstedge; L[v].firstedge=(3); p=(Eptr)malloc(sizeof(edge)); p-adjacent=(4); (2) =L[w].firstedge; L[w].firstedge=(3); (5); } } (2) 注意:编号相同的空内,填写相同内容) (注意:编号相同的空内,填写相同内容) 。 函数 qksort 实现非递归的快速排序算法。其中,stele 是栈结 点类型名(定义如下) 。主调语句为:qksort(a,n)。 typedef struct { int left,right; }stele; //定义栈结点类型 // left 和 right 分别是划分段的左右下标 第 3 页(共 8 页)

文档评论(0)

juhui05 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档