数据结构实验指导书2011-11-21.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验指导书2011-11-21

数据结构实验指导书 班级教师:孙韶媛 实验上机时间: 2011-11-21 2011-11-28 2011-12-5 实验报告提交时间: 2011年12月20日前 信息科学与技术学院 2011年11月 实验一 线性表的基本操作 实验目的 线性表是最简单的一种线性结构,它有两种存储方法:顺序存储和链式存储。实验目的如下: 会定义线性表的顺序存储结构和链式存储结构。 熟悉顺序表和链表的一些基本操作和应用。 加深对线性表的理解,逐步培养解决实际问题的编程能力。 实验环境 运行C或VC++的微机。 实验内容 基本操作: 初始化线性表 向线性表指定位置插入元素 删除指定元素值的线性表记录 删除指定位置的线性表记录 查找线性表中的元素 输出线性表元素 提高题目 (1)已知线性表LA的数据元素(n个,n为偶数),现要求将LA拆开成两个新的线性表LB,LC。要求LB中的数据元素为LA中的奇数位序的数据元素(a1, a3, …, an-1),LC中的数据元素为LA中的偶数位序的数据元素(a2, a4, …, an)。 2. 已知线性表LA的数据元素(n个),现要求将LA的数据元素复制到另一个线性表LB中。 3. 设有一个线性表采用顺序存储结构,表中的数据元素值为正整数(n个)。设在O(n) 时间内,将线性表分成两为两部分,其中左半部分每个元素都小于原表的第一个元素,而右半部分则相反。 4. 将一个头结点指针为a的单链表A分解成两个单链表A和B,其头结点指针分别为a和b,使得A链表中含有原链表中序号为奇数的元素,而B链表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序。 5. 约瑟夫问题:设编号为1,2,…,n的n(n0)个人按顺时针方向围坐一圈,每人持有一正整数密码。开始时任选一个正整数作为报数上限值m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列(采用循环单链表结构)。 四、实验报告 所有的基础操作和5到题目都需要课堂检查,直接打分。实验报告只需写第5题的报告,其他4道题目不需要写报告。 1.以上所有程序都应该有输入和输出操作。 2.实验报告格式参考习题集教材中的格式(P83),要有实验过程的描述,要有心得体会,具体要求可见书和讲义。 3.可以参考书和讲义中的程序。 4.程序应尽量写的通用,格式规范,容易阅读。 5.函数间数据的传递使用参数传递,一般不使用全局变量传递。 6.按格式要求写好实验报告,无须打印,把电子版发到助教邮箱。 实验二 栈的基本操作 实验目的 定义栈的结点类型。 掌握栈插入和删除元素在操作上的特点。 熟悉栈的基本操作。 加深对栈的理解,逐步培养解决实际问题的编程能力。 实验环境 运行C或VC++的微机。 实验内容 1、试编写算法,在顺序存储结构下实现堆栈的下列运算: (1)initstk(s)。初始化操作,建立一个空栈s; (2)emptystk(s)。判定栈是否为空; (3)pushstk(s)。如果栈s不满,在栈顶插入x; (4)popstk(s)。如果栈s不空,删除栈顶元素,并返回该元素的值; (5)getstk(s)。如果栈s不空,返回栈顶元素。 2、 试编写算法,实现数制转换:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。 四、实验报告 本章题目课堂检查,无须提交实验报告。 实验三 赫夫曼树 一、实验目的 1、熟悉二叉树的结点类型和二叉树的基本操作。 2、掌握建立赫夫曼树的操作。 3、加深对二叉树的理解,逐步培养解决实际问题的编程能力。 二、实验环境 运行C或VC++的微机。 三、实验内容 1.编写二叉树的遍历操作函数:前序遍历,中序遍历,后序遍历。 2. 根据Huffman编码的原理,编写一个程序在用户输入结点权重的基础上建立它的Huffman编码。 四、实验报告 所有的题目都需要课堂检查,直接打分。实验报告只需写第2题的报告。 1.以上所有程序都应该有输入和输出操作。 2.实验报告格式参考习题集教材中的格式(P83),要有实验过程的描述,要有心得体会,具体要求可见书和讲义。 3.可以参考书和讲义中的程序。 4.程序应尽量写的通用,格式规范,容易阅读。 5.函数间数据的传递使用参数传递,一般不使用全局变量传递。 6.按格式要求写好实验报告,无须打印,把电子版发到助教邮箱。

文档评论(0)

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

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

1亿VIP精品文档

相关文档