- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2016年数据结构实验内容剖析
实验一 线性表
1 实验目的
通过选择下面四个题目之一进行实现,掌握如下内容:
熟悉C++语言的基本编程方法,掌握集成编译环境的调试方法
学习指针、模板类、异常处理的使用
掌握线性表的操作的实现方法
学习使用线性表解决实际问题的能力
2 实验内容
2.1题目1
根据线性表的抽象数据类型的定义,选择下面任一种链式结构实现线性表,并完成线性表的基本功能。
线性表存储结构(五选一):
带头结点的单链表
不带头结点的单链表
循环链表
双链表
静态链表
线性表的基本功能:
构造:使用头插法、尾插法两种方法
插入:要求建立的链表按照关键字从小到大有序
删除
查找
获取链表长度
销毁
其他:可自行定义
编写测试main()函数测试线性表的正确性。
2.2题目2
利用线性表实现一个通讯录管理,通信录的数据格式如下:
struct DataType
{
int ID; //编号
char name[10]; //姓名
char ch; //性别
char phone[13]; //电话
char addr[31]; //地址
};
要求:
实现通讯录的建立、增加、删除、修改、查询等功能
能够实现简单的菜单交互,即可以根据用户输入的命令,选择不同的操作。
能够保存每次更新的数据(选作)
能够进行通讯录分类,比如班级类、好友类、黑名单等等(选作)
编写测试main()函数测试线性表的正确性
2.3题目3
利用线性表实现一个一元多项式Polynomial
f(x) = a0 + a1x + a2x2 + a3x3 + … + anxn
提示:
Polynomial的结点结构如下:
struct term
{
float coef; //系数
int expn; //指数
};
可以使用链表实现,也可以使用顺序表实现。
要求:
能够实现一元多项式的输入和输出
能够进行一元多项式相加
能够进行一元多项式相减
能够计算一元多项式在x处的值
能够计算一元多项式的导数(选作)
能够进行一元多项式相乘(选作)
编写测试main()函数测试线性表的正确性
2.4题目4
利用循环链表实现约瑟夫问题的求解。
约瑟夫问题如下:已知n个人(n=1)围坐一圆桌周围,从序号为的人开始报数,顺时针数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规则重复下去,直到所有人全部出列。实验二 树
1 实验目的
通过选择下面两个题目之一进行实现,掌握如下内容:
掌握二叉树基本操作的实现方法
了解赫夫曼树的思想和相关概念
学习使用二叉树解决实际问题的能力
2 实验内容
2.1 题目1
根据二叉树的抽象数据类型的定义,使用二叉链表实现一个二叉树。
二叉树的基本功能:
1、二叉树的建立
2、前序遍历二叉树
3、中序遍历二叉树
4、后序遍历二叉树
5、按层序遍历二叉树
6、求二叉树的深度
7、求指定结点到根的路径
8、二叉树的销毁
9、其他:自定义操作
编写测试main()函数测试线性表的正确性
2.2题目2
利用二叉树结构实现赫夫曼编/解码器。
基本要求:
初始化(Init):能够对输入的任意长度的字符串s进行统计,统计每个字符的频度,并建立赫夫曼树
建立编码表(CreateTable):利用已经建好的赫夫曼树进行编码,并将每个字符的编码输出。
编码(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输出。
译码(Decoding):利用已经建好的赫夫曼树对编码后的字符串进行译码,并输出译码结果。
打印(Print):以直观的方式打印赫夫曼树(选作)
计算输入的字符串编码前和编码后的长度,并进行分析,讨论赫夫曼编码的压缩效果。
测试数据:
I love data Structure, I love Computer。I will try my best to study data Structure.
提示:
1、用户界面可以设计为“菜单”方式:能够进行交互。
2、根据输入的字符串中每个字符出现的次数统计频度,对没有出现的
字符一律不用编码。
3代码要求
1、必须要有异常处理,比如删除空链表时需要抛出异常;
2、保持良好的编程的风格:
代码段与段之间要有空行和缩近
标识符名称应该与其代表的意义一致
函数名之前应该添加注释说明该函数的功能
关键代码应说明其功能
3、递归程序注意调用的过程,防止栈溢出
实验三
您可能关注的文档
- 2016年度项目施工进度与安全质量发言稿.docx
- 2016年延长气缸寿命改善课题报告.ppt
- 2016年异常暴雨应急预案.doc
- 注塑工艺学习资料word档.doc
- 注塑工艺及材料知识.ppt
- 注塑机液压、电器及模具故障的检1.doc
- 注塑机的基本参数.doc
- 注塑机结构分析及其工作原理.doc
- 注塑机结构概述与成型概论1.ppt
- 注塑模-塑料量杯课程设计.doc
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 2024年刑法知识考试题库及答案【基础+提升】.pdf VIP
- 支气管镜诊疗操作相关大出血的预防和救治专家共识.pdf
- 2022年太原理工大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案).docx VIP
- 2023年太原理工大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案).docx VIP
- PP板_MSDS.doc
- 土木工程识图9剖面图和断面图.ppt
- 2024届高三英语一轮复习:说题比赛 ---2021年新高考II卷语法填空课件.pptx VIP
- 长输管道施工组织方案.doc
- 大职赛生涯闯关参考答案.docx VIP
- AST_中央企业班组长岗位管理能力资格认证(三期模拟1030)-0019.pdf
文档评论(0)