数据结构和算法实验指导书.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  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文档。上传文档
查看更多
《数据结构与算法》实验指导书 实验课程编号:0731zk11 实验室名称:多媒体技术实验室 系(院):数计学院 实验室地点:N5-406 实验课学时:28 实验类别:专业课 适用专业:软件工程 是否独立设课:否 执笔人:李文新 审批人: 一、实验课程教学目的和要求 《数据结构与算法》是一门实践性很强的课程,光靠读书和做习题是不能提高实践能力的。 《数据结构与算法》的实验与程序设计语言课程中的实验不同,后者更多的强调语言方面的功能实现,而前者更接近实际,需要同学们自己分析问题,设计模型和算法,再上机调试完成。 《数据结构与算法》的实验的目的主要有两个: 1)深化理解书本上的理论知识,将书本的知识变“活”(为已掌握,为已活用); 2)理论和实践相结合,学会将相关的数据结构和算法应用于解决实际问题,培养数据结构的应用能力和软件工程所需要的实践能力。 《数据结构与算法》的实验类型 1)验证性实验—主要是验证教材中已有的数据结构和算法。 2)设计性实验—针对具体问题,应用某一个知识点,自己设计数据结构和算法,培养对数据结构的简单运用能力。 3)综合性实验—针对具体问题,应用某几个知识点,自己设计数据结构和算法,培养对数据结构的综合运用能力。 《数据结构与算法》的实验安排 项目 实验题目 学时 说明 一 顺序表的保序插入操作 2 设计 二 单链表的保序插入操作 2 设计 三 循环单链表的插入和删除 2 设计 四 栈与队的操作 2 验证 五 栈与队的的应用 2 设计 六 对称矩阵的压缩存储 2 验证 七 二叉树的操作 2 验证 八 二叉树的应用 2 设计 九 二叉树的应用 2 设计 十 图的操作 2 验证 十一 图的应用 2 设计 十二 图的应用 2 设计 十三 查找操作 2 验证 十四 查找应用 2 设计 十五 排序操作 2 验证 十六 排序应用 2 设计 《数据结构与算法》实验的一般步骤 1)需求分析:要对简单的问题描述进行详细的分析,充分理解问题,明确问题要求做什么,有什么数据,边界条件……。 2)概要设计:针对问题描述中涉及到数据定义抽象数据类型,设计数据结构和算法模型。本部分不必考虑实现的细节。 3)详细设计:设计具体的存储结构(用C++实现抽象数据类型对应的类)。此外,还要设计对象间的调用关系及输入输出。 4)上机调试(运行代码,修正语法及逻辑错误) 5)结果与总结 《数据结构与算法》的实验要求: 1)完成实验预习; 2)完成并上交实验报告; 3)完成电子设计文档 预习/实验报告的格式要求: 1)实验名称 2)实验目的 3)实验内容及要求 4)概要设计:ADT 5)详细设计:C++类或C函数 6)调试分析: 7)结果与总结 实验一: 顺序表的保序插入操作 一、实验目的: 1)掌握线性表的顺序存储结构与算法实现; 3)掌握顺序表的逻辑插入方法。 二、实验内容及要求: 设计:主函数、构建n个整数的顺序表函数、保序插入函数、输出函数。 提示:主函数中调用构建n个整数的顺序表函数并调用输出函数; 调用保序插入函数实现插入操作并调用输出函数输出。 实验二: 单链表的保序插入操作 一、实验目的: 1)掌握线性表的链接存储结构与算法实现; 2)掌握线性表的逻辑插入操作方法。 二、实验内容及要求: 设计:主函数、构建一个带头结点的单链表A(值为整数并有序)的函数、保序插入函数、输出函数。 提示:主函数中调用构建单链表A函数并调用输出函数; 调用保序插入函数实现插入操作并调用输出函数输出。 结点结构: struct Node { int data; Node *next; }; 实验三: 循环单链表的插入和删除 一、实验目的: 1)进一步掌握线性表的链接存储结构; 2)掌握循环单链表及其基本操作的实现。 二、实验内容及要求: 1)用头插法(或尾插法)建立带头结点的循环单链表; 2)在采用尾指针(rear)表示的循环单链表中,查找元素为x的结点,如果有则删除该结点;如果没有则插入到循环单链表的尾部。 操作接口 :T LinkListLDI(T x) 实验四: 栈与队的操作 一、实验目的: 1)掌握栈和队的顺序与链接存储结构; 2)掌握栈和队的操作特性; 3) 掌握顺序栈和链队列的基本操作的实现方法。 二、实验内容及要求: 1)分别建立一个空的顺序栈和空的链队列; 2)对已建立的顺序栈和链队列实现插入、删除、取栈顶元素、取队头元素及输出等基本操作。 3)利用栈的基本操作完成十进制数n向P进制数(P在2-9之间)的转换。 实验五:栈与队的的应

文档评论(0)

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

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

1亿VIP精品文档

相关文档