计算机类大学生小学期实验1解析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《算法与数据结构综合训练》 报 告 第一部分:基本算法训练 组号: 02 组长: 温佳美 成员: 安秀芳、施璇、 丁子叶、黄城 2015年 7 月 9 日 一、任务说明 1。分工及时间安排。 温佳美(组长):3、Prim算法 11、希尔排序 14、归并排序 15、四则表达式计算 组员: 安秀芳: 6、Dijkstra算法 9、二叉排序树生成算法(含平衡化) 12、快速排序 PPT主讲人 施璇:10、哈希表生成及哈希查找算法 13、堆排序 16、矩阵运算 以及PPT制作 丁子叶:1、哈夫曼编码算法 2、由遍历序列恢复二叉树 4、Kruskal算法 8、关键路径算法 黄城:5、Floyd 算法 7、拓扑排序 17、有向图的强连通分量求解 2。任务描述 设计 1。抽象数据类型 安秀芳: 6、Dijkstra算法 :图 9、二叉排序树生成算法(含平衡化) :树,链表 12、快速排序 :顺序表 施璇:10、哈希表生成及哈希查找算法:哈希表 13、堆排序:顺序表 16、矩阵运算 :无 丁子叶:1.哈夫曼编码:树 2.遍历序列恢复二叉树:二叉树 4.Kruskal算法:图 8.关键路径算法:图,邻接表 2。主程序流程及各程序模块的层次关系 本次实验综合为一个main.cpp文件,将所有的程序整合在一个main.cpp文件中。增加菜单函数,显示所有的算法题目及作者名字,选择想要的功能,并用switch()语句选择功能并调用相应的函数实现功能。最后在主函数里调用menu()函数,通过whlie循环选择返回主菜单还是直接退出。小组不同程序之间的相同的数据结构及算法共享。 调试分析 3、Prim算法: a.构造数据结构-图。 b.采用邻接矩阵法创建无向图。 c.Prim算法“加点法”,求最小生成树。算法实现需要一个辅助数组closedge,以记录最小边在U中的那个顶点,以及最小边上的权值。在连通图中,选取一个节点为顶点,加入U中,对其余的每个顶点,将closedge[i]初始化为到U的边的信息。选出closedge中最小边closedge[k],将k加入U中,更新剩余每组最小边的信息。循环直到所有节点加入。 11、希尔排序: a.构造数据结构-顺序表。 b.初始化顺序表,输入排序个数与排序序列。 c.希尔排序采用分组插入,第一个去增量d1,所有间隔为d1的记录分在同一趟,每组中进行直接插入。第二趟取增量d2,重复,直到取到增量1,每组直接插入排序为止。 14、归并排序:顺序表 a.构造数据结构-顺序表。 b.初始化顺序表,输入排序个数与排序序列。 c.归并排序,将顺序表n个记录递归一分为二,直到每个子序列的长度为1。然后进行2-路归并排序,得到[n/2]个长度为2或1的有序子序列;再两两归并。重复。。 15、四则表达式计算:栈 a. 构造数据类型栈,数栈和字符栈。 b. 定义数栈和字符栈的初始化、压栈、弹栈、取栈顶元素的函数。 c. 先在字符栈中压入#。输入字符串,当输入字符不是#,或字符栈顶元素不是#,循环操作,从第一个字符串开始判断,若是数字字符,输出(后序表达式),再向后判断,直到遇到符号字符,将之前的字符串转化为大整数,p=0;p=s*10+s[i],将其 -‘0’变为整形,压入数栈;若为符号字符,比较字符栈栈顶元素与所输入的字符运算符高低,〈:将输入字符压入字符栈; 〉 :弹字符栈,输出(后序表达式),两次弹数栈,进行相应操作,将结果压入数栈;=:字符栈弹栈。 1.哈夫曼编码 首先建立赫夫曼树,由于每个赫夫曼编码是变长编码,因此使用一个指针数组来存放每个字符编码串的首地址。个字符的赫夫曼编码存储在由HuffmanCode定义的动态分配的数组HC中,构成赫夫曼树之后,为求编码需从叶子结点出发走一条从叶子到跟的路径,这样生成的编码与要求的编码反序,出将生成的的代码先从后往前一次存放在一个临时的一维数组cd中,并设一个变量start记录编码在cd中起始位置,当某字符编码完成时,从cd的start处将编码到该字符相应的编码串中。此程序较简单,没什么问题。 遍历恢复二叉树 由先序和中序或后序和

文档评论(0)

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

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

1亿VIP精品文档

相关文档