数据结构实验指导(16学时)重点.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验指导书 (16学时) 计算机专业实验中心 目 录 实验一 C语言结构体与指针 2 实验二 线性顺序表的实现及操作 2 实验三 串的匹配与替换 3 实验四 线性链表的实现及操作 3 实验五 栈和队列的应用 4 实验六 二叉树的实现及遍历 4 实验七 图的实现及遍历 4 实验八 查找算法的实现及比较 5 实验一 C语言结构体与指针 1、实验目的: 巩固复习前期所学C语言的函数参数传递、指针和结构体等知识点,加强学习数据结构语言基础。 2、实验内容: 1) 学生信息的显示,具体要求如下: ???定义一个结构体描述学生信息(学号,姓名,性别,年龄,住址); ???设计一个函数,用于显示单个学生信息,函数的参数为前面定义的结构体类型; ???设计一个主函数,在主函数中输入学生的信息,并调用前面定义的函数进行显示(学生人数不少于5人)。 2) 输入若干个整数作为数组元素值,然后按输入时顺序的就地逆置排序,最后打印出逆置后的元素值。要求用指针和动态内存分配方法实现。例如 输入:10 2 30 4 5,逆置后显示为:5 4 30 2 10。 3、思考题: 分析结果是否正确,如果不正确是什么原因。 实验二 线性顺序表的实现及操作 1、实验目的: 1) 掌握建立线性顺序表的基本方法。 2) 理解和掌握线性顺序表元素查找算法。 3) 掌握线性顺序表的插入、删除算法的思想和实现。 2、实验内容: 1) 建立一个线性顺序表,要求从键盘输入10个整数,并将该线性顺序表的元素从屏幕显示出来; 2) 编写查找函数,在上面的线性顺序表中查找其中一个元素,如果找到,返回该元素在线性顺序表中的位置和该元素的值,否则提示无此元素。要求被查找元素从键盘输入。 3) 编写插入和删除函数,由用户输入待插入元素及插入位置,将完成插入后的线性顺序表输出;由用户输入删除第几个元素,将完成删除后的线性顺序表输出。 3、思考题: 分析线性顺序表结构下插入和删除算法的时间复杂度。 实验三 串的匹配与替换 1、实验目的: 1) 掌握串存储结构; 2) 掌握串的匹配算法,并能进行相关应用。 2、实验内容: 设串采用静态数组存储结构,编写函数实现串的替换Replace(S,start,T,V),即要求在主串S中从位置start开始查找是否存在子串T。若存在,则用子串V去替换子串T,且函数返回1;若主串S中不存在子串T,则函数返回0。要求设计主函数进行测试。 3、思考题: 使用串的块链存储结构,改写上述程序。 实验四 线性链表的实现及操作 1、实验目的: 1) 深入理解线性链表的逻辑结构和链式存储结构; 2) 掌握线性链表的基本操作及应用: 3) 培养学生灵活使用结构解决实际问题的能力。 2、实验内容: 1) 设计一个100位以内的长整数加减运算的程序。要求如下: ???输入输出要求:每四位一组,组间用逗号分隔; ???加和减分别用不同的程序实现 ???程序应考虑输入数据的符号 2) 用循环链表实现约瑟夫环问题 3、思考题: 尝试按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输出。 实验五 栈和队列的应用 1、实验目的: 掌握栈与队列的基本结构和操作方法,培养学生灵活使用结构解决实际问题的能力。 2、实验内容: 1) 利用栈深度优先进行迷宫求解。 ???用数组表示迷宫 ???建立栈,利用栈实现深度优先搜索 2) 利用队列宽度优先进行迷宫求解。 ???用数组表示迷宫 ???建立队列,利用队列实现宽度优先搜索 3、思考题: 1) 考虑用栈结构实现数制转换问题和字符匹配问题; 2) 考虑用队列结构实现杨辉三角输出问题和回文问题; 3) 利用栈和队列模拟停车场管理。 实验六 二叉树的实现及遍历 1、实验目的: 1) 掌握二叉树的定义、结构特征,以及各种存储结构的特点及使用范围。 2) 掌握用指针类型描述、访问和处理二叉树的运算。 3) 掌握二叉树的建立方法 4) 掌握二叉树遍历的基本方法(前序、中序、后序) 2、实验内容: 1) 采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历的操作,求所有叶子及结点总数的操作。 2) 输出树的深度,最大元,最小元。 3、思考题: 画出所设计的二叉树,以后序遍历算法为例,画出执行踪迹示意图。 实验七 图的实现及遍历 1、实验目的: 1) 掌握有向图和无向图的概念; 2) 掌握邻接矩阵和邻接链表建立图的存储结构; 3) 掌握DFS及BFS对图的遍

文档评论(0)

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

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

1亿VIP精品文档

相关文档