《数据结构实验与课程设计》实验教学大纲【荐】.docVIP

《数据结构实验与课程设计》实验教学大纲【荐】.doc

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
《数据结构实验与课程设计》实验教学大纲【荐】.doc

《数据结构实验与课程设计》实验教学大纲 课程名称:数据结构实验与课程设计 英文名称:Experiment and Course Project of Data Structure 课程编号:2215201101 ~ 107 课程性质:课程类型:专业基础课 是否为独立设课的实验课:是 适用专业:计算机与软件学院 学时与学分:总学时:72 总学分:2 实验学时:72 实验学分:2 执 笔 人:蔡茂国 制定时间:2012年9月 一、实验课的任务、性质与目的 本实验课程与《数据结构》理论课堂教学有机结合,相辅相成。在理论课堂教学中,比较全面、概括性地讲述数据结构学科中一些基础性知识、重要概念及各种算法,而在本实验课程中,将这些基础性知识、重要概念及各种算法,在计算机上编程实现,使学生能够达到以下教学目标: ⑴、掌握计算机处理数据的基本方法 ⑵、了解算法需用的时间及空间分析方法 ⑶、能够为实际应用所涉及的数据选择适当的逻辑结构、存储结构及相应的算法 ⑷、通过在计算机上编程实现课程中介绍的各种算法,在程序设计能力方面得到提升。 二、主要仪器设备及环境 计算机 Windows软件环境 TurboC/VC编程环境 实验项目的设置与实验内容 序号 实验项目名称 实验内容 实验算法 实验 要求 实验 时数 每组 人数 实验 类型 1 顺序表实验 顺序表类定义 顺序表创建、插入、删除、查找等功能的实现 顺序表的测试运行 (1)顺序表的存储结构包含三个部分:数据数组、最大长度、实际长度 (2)顺序表的创建:分配空间、参数初始化 (3)顺序表的插入:位置i和后面的数据全部后移一位,在指定位置i插入一个数据,长度加1 (4)顺序表的删除:位置i后面的数据全部前移一位,覆盖掉位置i的数据,长度减一 (5)顺序表的查找:给出位置i的数据 必做 4 1 验证 2 单链表实验 1、链表结点表类定义 2、单链表类定义 3、单链表的创建、插入、删除、查找等功能的实现 4、单链表的测试运行 (1)链表结点的存储结构包含两部分:数据、下一结点指针 (2)单链表的创建:分配空间、参数初始化 (3)单链表的插入:创建新的结点,在位置i-1和位置i之间插入新的结点,修改相关指针指向,长度加1 (4)单链表的删除:修改位置i-1结点的下一结点指针指向i+1结点,删除位置i结点,长度减一 (5)单链表的查找:给出位置i结点的数据 必做 4 1 验证 3 堆栈应用括号匹配 1、顺序栈类的定义 2、成员函数,包括入栈、出栈、取栈顶元素 3、匹配判断函数 4、主程序 算术表达式中右括号和左括号匹配的次序正好符合后到括号要最先被匹配的“后进先出”堆栈操作特点,因此可以借用一个堆栈来进行判断。 具体方法: ⑴ 顺序扫描算术表达式(表现为一个字符串); ⑵ 当遇到三种类型的左括号时,让该括号进栈; ⑶ 当遇到某一种类型的右括号时,比较当前栈顶括号是否与之匹配, ⑷ 若匹配则退栈,转(1)继续进行判断; ⑸ 若不匹配,则左右括号配对次序不正确,结束。 ⑹ 若字符串当前为某一类型的右括号而堆栈为空,则右括号多于左括号,结束。 ⑺ 若字符串扫描结束而堆栈非空,则左括号多于右括号,结束。 ⑻ 若字符串扫描结束而堆栈为空,则左右括号匹配正确,结束。 必做 4 1 验证 4 堆栈和队列应用回文 创建队列节点类和链式队列类 链式队列的实现,包括构造函数、析构函数及入队、出队、队列空否等成员函数 创建堆栈节点类和链式堆栈类 链式堆栈的实现,包括构造函数、析构函数及进栈、退栈、堆栈空否等成员函数 判断是否回文函数 设字符数组str中存放了要判断的字符串。把字符数组中字符逐个分别存入一个队列和一个堆栈,然后逐个出队列和退栈并比较出队列的字符和退栈的字符是否相等,若全部相等则该字符序列是回文,否则就不是回文。 选做 4 1 验证 5 串应用KMP算法 1、顺序串类的定义,包括构造函数、析构函数 2、模式子串的next[j]函数 3、KMP匹配算法函数 4、主程序 将主串和模式子串从第一位进行一一比较,当一趟匹配过程中出现字符比较不等(失配)时,不需回溯主串指针i,而是利用已经得到的“部分匹配”的结果,将模式子串向右“滑动”尽可能远的一段距离(next[j])后,继续进行比较。 必做 4 1 验证 6 二叉树的遍历及相关应用 2、定义二叉树类BiTree 3、编写主程序 2.先序遍历递归算法 (1)、若二叉树为空,则返回;否则: (2)、访问根结点(D) (3)、先序遍历左子树(L) (4)、先序遍历右子树(R) 选做 4 1 设计 7 Huffman编码的设计与应用 1、定义huffman树的结点结构HuffNode 2、定义存放哈夫曼编码的数据元素结构Cod

文档评论(0)

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

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

1亿VIP精品文档

相关文档