数据结构A卷集美大学试卷纸.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构A卷集美大学试卷纸,数据结构试卷及答案,数据结构试卷,数据结构期末试卷,数据结构期末考试试卷,广工数据结构试卷,华科数据结构试卷,数据结构c语言版试卷,数据结构考试卷,数据结构英文试卷

集 美 大 学 诚 毅 学 院 试 卷 纸 2012 — 2013 学年 第 二 学期 课程名称 数据结构 试卷 卷别 A卷 适 用 学院、专业、年级 诚毅学院 软件工程专业 1191 1271 考试 方式 闭卷 √ 开卷 □ 备注 答案请写在答题纸上,否则视为不得分。 一、问答题(共22分) 1-1(共4分)请看下面学生表的顺序表和链表存储,请说明它们的区别? 图1-1-1 学生表的顺序表 图1-1-2 学生表的链表 1-2(共4分)给出下列图1-2的二叉树的静态链表存储、顺序存储和二叉链表存储。 图1-2 二叉树 1-3(共4分)假设通信电文使用的字符集为{a,b,c,d,e,f,g,h},各字符在电文中出现的频度分别为:7,26,2,28,13,10,3,11,试为这8个字符设计哈夫曼编码。 要求: (1)画出你所构造的哈夫曼树(要求树中左孩子结点的权值不大于右孩子结点的权值); (2)按左分支为0和右分支为1的规则,分别写出与每个字符对应的哈夫曼编码。 1-4(共4分)已知二叉树的前序遍历序列是AEFBGCDHIKJ,中序遍历序列是EFAGBCHKIJD,画出此二叉树,并画出它的后序线索二叉树。 1-5(共6分)设待排序的排序码序列为{21, 25, 49, 25*, 16, 08}, 试写出使用堆排序方法每趟排序后的结果。(自行选择最大堆或最小堆排序) 二、程序题(共21分) 2-1(共5分)迷宫的主程序如下。给出下列迷宫2-1-1从起点到终点寻找路径的每一步中,往堆栈存放的内容,画出每一步堆栈的图,注意回溯那一段的堆栈图不要漏掉。提示:共13步画13个堆栈图。在每个位置寻找下一个方格的四个方位顺序图如图2-1-2。 图2-1-1迷宫 图2-1-2 方位顺序图 迷宫的主程序: #include SeqStack.h //见2-3顺序栈的类定义,类的各方法定义省略。 #include iostream using namespace std; const int SZ = 36; const int M = 6; const int N=6; struct Mazedata { int i; //当前方块的行号 int j; //当前方块的列号 int di; //di是下一可走方位的方位号 }; //定义栈单元的元素 int _tmain(int argc, _TCHAR* argv[]) { int maze[M+1][N+1]={ /*M=6,N=6*/ {1,1,1,1,1,1}, {1,0,1,0,0,1}, //入口 {1,0,0,0,0,1}, {1,1,0,0,1,1}, {1,0,1,0,0,1}, //出口 {1,1,1,1,1,1}}; SeqStackMazedata mazetest; //初始方块进栈 Mazedata x,y,z; int di; x.i=1; x.j=1; x.di=-1; //初始方向 mazetest.Push(x); maze[1][1]=-1; //迷宫数组设置入口已经走过标志 int find; while (!mazetest.IsEmpty()) //栈不空时循环 { mazetest.getTop(x); //取栈顶 if (x.i==M-2 x.j==N-2) //找到了出口,输出路径 { cout迷宫路径如下:endl; coutmazetest; return 0; } find=0; while (x.di4 find==0) /*找下一个可走方块*/ { di=x.di; di++; mazetest.getTop(x); switch(di) { case 0:x.i=x.i; x.j=x.j+1;break; case 1:x.i=x.i+1; x.j=x.j; break; case 2:x.i=x.i; x.j=x.j-1; break; case 3:x.i=x.

文档评论(0)

xingkongwd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档