2009《数据结构A》实验大纲(黄刚).docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构A》课程实验大纲 课程编号:B0300051S          课程名称:数据结构A 课内总学时:56           上机实验学时:8×2 实验课程的性质、目的和任务 性质:《数据结构A》是计算机科学与技术以及相关专业的专业基础课。本实验是《数据结构A》课程的课内上机实验教学环节。 目的和任务:数据结构知识是计算机程序设计的重要理论和实践基础。课程教学包括理论和上机实验两部分。通过上机实验,加深对计算机科学中的组织、表示和处理数据的基本方法的理解,训练学生运用数据结构和算法知识解决应用问题的实际能力。 实验内容、学时分配及基本要求 序号 实验名称 课时 实验内容及要求 开出组数 实验类型 选做 必做 备注 1 线性表的基本运算及多项式的算术运算 2×2 内容: (1)线性表操作 (在顺序表类SeqList中增加成员函数 void Reverse(),实现顺序表的逆置。 (在顺序表类SeqList中增加成员函数bool Delete(const T x),删除表中所有元素值等于x的元素。若表中存在这样的元素,则删除之,且函数返回true;否则函数返回false。 (编写main函数(设计带表头结点的单链表表示的多项式类和实现(在该类上增加成员函数void PolyMul(Polynominal r),并重载*运算符。 (实现菜单驱动的main函数,测试多项式加法和乘法运算 2 二叉树的基本操作及哈夫曼编码译码系统的实现 2×2 内容: (1)在二叉链表上设计和实现下列二叉树运算的算法 ① 设计递归算法,实现:删除二叉树,求二叉树的高度求二叉树复制二叉树交换二叉树的左右子树② 设计算法,按层次遍历二叉树③ 设计main函数,测试上述每个运算。 提示:二叉树的按层次遍历需要利用队列作为辅助的数据结构,队列的元素类型是指向二叉树中结点的指针类型。 (2)哈夫曼编码和译码系统 ①② 设计菜单驱动界面,系统要求重复显示以下菜单项C-编码,D-译码,P-打印,X-退出③要求将输入的电文、编码得到码文及译文保存在不同的磁盘文件中。 提示:修改二叉链表的结点类BTNode,增加一个指向双亲的parent域,修改二叉树类的函数MakeTree设置该域的值;可以通过遍历哈夫曼树,产生每个叶子结点的哈夫曼编码;当遍历访问某个叶结点时,从该叶结点到根的路径可以确定该叶结点所代表的字符的编码。 要求: (1)掌握二叉链表上实现二叉树基本运算的方法。 (2)学会设计基于遍历的求解二叉树应用问题的递归算法。 (3)理解哈夫曼树的构造算法,学习设计哈夫曼编码和译码系统。 144 设计 √ 3 图的基本运算及飞机换乘次数最少问题 2×2 内容: 图的基本运算 验证教材中关于在邻接矩阵和邻接表两种不同存储结构上实现图的基本运算的算法。 (在邻接矩阵存储结构上实现图的深度和广度优先遍历算法。 (设计主函数,测试上述运算。 提示:扩充MGraph类,在扩充类上增加DFS和BFS函数。 (2)飞机最少换乘次数问题 (设n个,编号为0~n1,m条航线的起点和终点由用户输入提供。寻找一条换乘次数最少的线路方案。 提示:可以使用有向图表示城市间的航线。只要两城市间有航班,则图中这两点间存在一条权为1的边。可以使用Dijkstra算法实现。 思考:如果是城市公交车的最少换乘问题,将如何解决?假如希望使用类似的算法,则图中的边如何设置? 要求: 掌握在图的邻接矩阵和邻接表存储结构实现图的基本运算的算法。 学习使用图算法解决应用问题的方法。 144 验证 √ 4 基本内排序算法的验证和性能比较,改进快速排序算法 2×2 内容: 验证内排序算法,分析算法的时间性能 (验证各种基本排序算法 (分析各算法的最好、最坏和平均情况时间复杂度,以渐近表示法表示。 (产生不同规模和排列状态的数据集,测量算法的实际执行时间; (比较理论分析和实际运行时间,解释理由。 提示:使用随机数发生器产生随机测试数据;使用系统时钟测量运行时间。 进快速排序算法: (设计非递归算法,并先处理较小的子序列,后处理较大的子序列; (当子集合较小时改用直接插入排序; (解释改进理由; (测量改进的排序算法的执行时间,与改进前的排序算法运行时间作比较,说明造成差异的原因。 要求: (1)理解和掌握各种基本排序算法; (2)学会测量和分析排序算法的时间和空间性能; (3)改进快速排序算法,理解改进的理由,验证算法改进的效果。 144 设计 √ 考核及实验报告 (一) 考核 本课程实验非独立设课,考核方式以学生上机操作和完成设计作业相结合。实验成绩的评定:实验到课率(10

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档