- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验七B.
《数据结构与算法分析》
实验报告书
学 期: 2014 - 2015 学年第 2 学期
班 级: 信息管理与信息系统2班
学 号: 1310030217
姓 名: 田洪斌
实验类别: ( )基础型 (★)设计型
实验时间:
成 绩:
信息管理系
实验内容
实现程序,完成构造无向无权图的邻接表并在其上进行递归的深度优先遍历和广度优先遍历。
实现程序,求图的最小生成树。
实现程序,完成哈希表的构造及查找;
实验目的
1、掌握静态查找和动态查找的概念;
2、掌握静态查找算法操作在C语言环境中的实现方法;
3、掌握哈希表的构造和查找在C语言环境中的实现方法;
4、掌握二叉排序树上动态查找在C语言环境中的实现方法;
需求分析
用线性表结构表示来完成输入、编辑、调试、运行的全过程。并规定:
手动输入信息
程序可以输入、调试、运行、显示
测试数据:用户手动输入的信息
系统设计
1.数据结构设计
本程序在定义哈希表的数据结构时采用的是两个结构体变量,在这两个结构体中又定义了字符型变量和整型变量。程序本身的功能实现是在主函数的基础上通过给所调用函数参数实现,使程序模块化。
程序结构设计
(1)程序中主要函数功能:
main()/////////////////////////////////////////////////////////////////主函数
InitNameList() /////////////////////////////////////////////////////姓名(结构体数组)初始化
FindList() ///////////////////////////////////////////////////////////查找
Display() /////////////////////////////////////////////////////////// 显示哈希表
出
函数调用关系
见图5-1。
图
图5-1 函数关系图
调试分析
1.算法和函数中出现了一些系统无法识别的变量,照成程序出现了错
误。原因是没有注意算法与源程序的区别。算法是简单的对源程序进行描述
的,是给人阅读的,所以有些变量没有定义我们就能看懂。而程序中的变量一定要先定义才能够被引用,才能被计算机识别。
2.在调试过程中遇到问题是利用C++程序进行调试的,找出错误并改正。
测试结果
1.运行时输入正确密码进入主界面,系统根据输入的数字选项来调用相应的函数。主要实现“功能选择”的界面,在这个界面里有显示系统的五大功能,根据每个功能前面的序号进行选择。以下为该界面:
2.当选择显示哈希表时,运行结果如下图:
3.当选择查找时,运行结果如下图:
经验和体会
本次试验利用C语言编程,完成了线性表的建立、线性表的输出、哈希表的建立等功能,提升了我的C语言编程能力,同时也加深了我对数据结构中关于线性表结构有关基础概念、基本算法的理解,同时,通过程序的调试及观察分析程序运行的情况,也进一步增加了我调试程序的经验,并使我认识到了线性表的结构。
源程序
#includestdio.h
#includeconio.h
#define HASH_LEN 50 //哈希表的长度
#define M 47 //随机数
#define NAME_NO 30 //人名的个数
typedef struct
{
char *py; //名字的拼音
int k; //拼音所对应的整数
}NAME;
NAME NameList[HASH_LEN]; //全局变量NAME
typedef struct //哈希表
{
char *py; //名字的拼音
int k; //拼音所对应的整数
int si; //查找长度
}HASH;
HASH HashList[HASH_LEN]; //全局变量HASH
void InitNameList() //姓名(结构体数组)
您可能关注的文档
最近下载
- [电信行业]移动通信技术移动信道中的电波传播及干扰.pptx VIP
- (课堂教学课件4)七颗钻石.ppt VIP
- Unit 1 长难句分析讲义--高中英语人教版(2019)选择性必修第一册.docx VIP
- 高等教育心理学知识点-.docx VIP
- 2025及以后5年中国碳纤维行业市场运营格局及前景战略分析报告.docx
- 常见微生物与相关疾病.ppt VIP
- 人民医院皮肤性病科临床技术操作规范2023版.pdf VIP
- 三年级下册语文课件-第18课 七颗钻石第一课时|人教新课标 (共20张PPT).pptx VIP
- 2023年绵阳中学自主招生数学试题.doc VIP
- 二下数学混合运算看图列综合算式专项题型练习(含答案12页).pdf VIP
文档评论(0)