- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构查找算法课程设计
存档编号:
西安********
课程设计说明书
设计题目:
查找算法性能分析
系别: 计算机学院 专业: 计算机科学 班级: 计科*** 姓名: 王*** (共 页)
2015年 01月07 日
*****
计算机科学 专业课程设计任务书 姓名: *** 班级: 计科**** 学号: **** 一、设计或实践题目 查找算法性能分析 二、内容及要求 设计程序,对比分析顺序查找、折半查找、索引查找、二叉排序树查找和散列查找五种查找算法的性能
1、测试数据的个数不少于50个;
2、对每一种查找算法设计实现适应的存储结构;
3、输出每种查找算法的查找成功时的平均长度 三、完成形式 1、设计报告;
2、源程序
四、系(部)审核意见 指导教师: **** 发题日期: 2015-01-05 完成日期: 2015-01-09 一 需求分析
1问题描述
查找又称检索,是指在某种数据结构中找出满足给定条件的元素。查找是一种十分有用的操作。而查找也有内外之分,若整个查找过程只在内存中进行称为内查找;若查找过程中需要访问外存,则称为外查找,若在查找的同时对表做修改运算(插入或删除),则相应的表成为动态查找表,反之称为静态查找表。
由于查找运算的主要运算是关键字的比较,所以通常把查找过程中对关键字的平均比较次数(也叫平均查找长度)作为一个查找算法效率优劣的标准。平均查找程度ASL定义为:
ASL=∑PiCi(i从1到n)
其中Pi代表查找第i个元素的概率,一般认为每个元素的查找概率相等,Ci代表找到第i个元素所需要比较的次数。
查找算法有顺序查找、折半查找、索引查找、二叉树查找和散列查找(又叫哈希查找),它们的性能各有千秋,对数据的存储结构要求也不同,譬如在顺序查找中对表的结果没有严格的要求,无论用顺序表或链式表存储元素都可以查找成功;折半查找要求则是需要顺序表;索引表则需要建立索引表;动态查找需要的树表查找则需要建立建立相应的二叉树链表;哈希查找相应的需要建立一个哈希表。
2基本要求
输入的形式和输入值的范围;
在设计查找算法性能分析的过程中,我们调用产生随机数函数:
srand((int)time(0));
产生N个随机数。
注:折半查找中需要对产生的随机数进行排序,需要进行排序后再进行输入,N50;
输出形式;
查找算法分析过程中,只要对查找算法稍作修改就可以利用平均查找长度的公式:
ASL=∑PiCi(i从1到n)
输出各种查找算法的平均查找长度。
注:平均查找长度=总的平均查找长度/N;
程序所能达到的功能
通过输出几种查找算法的ASL,我们很显然能得在数据量较小时(N100)我们在实现静态查找时应该选择如何调用哪种查找算法。
二 概要设计
说明本程序中用到的所有抽象数据类型的定义。主程序的流程以及各程序模块之间的层次(调用)关系。
数据结构
顺序查找:在进行顺序查找顺序表类型定时需要定义typedef int KeyType;
顺序表类型为SeqList类型。 typedef NodeType SeqList【MaxSize】;/
它的基本思路是:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给定值k相比较,若当前扫描到的关键字与k相等,查找成功。
折半查找:在进行顺序查找顺序表类型定时需要定义typedef int KeyType,并且需要调用排序函数对其进行排序。
折半查找类型为SeqList类型。 typedef NodeType SeqList【MaxSize】;
折半查找又叫二分查找,效率较高,但折半查找要求被查找的表示顺序表,它的基本思路是:设R【low…..high】是当前的查找区间,首先确定该区间的中点位置mid= ┖(low+high)/2 ┘,然后将待查的k值与R【mid】.key。
如果中点值的值是k,返回该元素的逻辑符号;
如果中点值k,则中点值之后的数都大于k,所以k值在该表的左边,所以确定一个新的查找区间;
如果中点值k,则中点值之后的数都小于k,k值在该表的右边,再在该表的右边确定一个新的查找区间;
依次循环。
索引查找:/索引存储结构是在存储数据的同时还建立附加的索引表,索引表包括关键字和地址。索引表的数据类型 KeyType key、int link,link代表对应块的起始下标。
typedef IdxType IDX[MaxSize] //索引表的类型
分块查找又称索引顺序查找,它的性能介于顺序查找和折半查找之间的一种算法,它的分块的思想是:
将表均
您可能关注的文档
- 寿智振总结的照片打印机正确的使用方法.docx
- 寓言写作方法.doc
- 小专题二生态系统与生态环境的保护.doc
- 小学三年级语文下册所有成语与解释.doc
- 小学低年段读写绘策略.doc
- 小学六年级美术复习题总汇.doc
- 封面及正文格式.doc
- 小组练习住宅小区物业管理服务费测算案例.doc
- 小麦加工工艺与设备复习题.doc
- 小采三项制度.doc
- 2024-2025学年初中信息技术(信息科技)八年级上册粤高教版(2018)教学设计合集.docx
- 2024-2025学年初中信息技术(信息科技)九年级上册清华大学版(2012)教学设计合集.docx
- 2024-2025学年初中科学七年级上册(2024)华师大版(2024)教学设计合集.docx
- 2024-2025学年中职语文拓展模块人教版教学设计合集.docx
- 2024-2025学年高中语文高三下册华东师大版教学设计合集.docx
- 2024-2025学年小学劳动六年级下册川民版《劳动教育》教学设计合集.docx
- 2024-2025学年中职数学基础模块 上册高教版(2021·十四五)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)第二册(2016)电子工业版(安徽)教学设计合集.docx
- 2024-2025学年小学音乐六年级上册西师大版教学设计合集.docx
- 2024-2025学年小学劳动四年级上册湘教版《劳动教育》教学设计合集.docx
文档评论(0)