数据结构查找算法课程设计.docxVIP

  • 15
  • 0
  • 约8.24千字
  • 约 20页
  • 2021-03-25 发布于山东
  • 举报
西安 ******** 课程设计说明书 设计题目: 查找算法性能分析 系别: 计算机学院 专业: 计算机科学 班级: 计科 *** 姓名: 王 *** (共 页) 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 个元素所需要比较的次数。 查找算法有顺序查找、折半查找、索引查找、二叉树查找和散列查找(又叫哈 希查找),它们的性能各有千秋,对数据的存储结构要求也不同,譬如在顺序查找中 对表的结果没有严格的要求,无论用顺序表或链式表存储元素都可以查找成功;折 半查找要求则是需要顺序表;索引表则需要建立索引表;动态查找需要的树表查找 则需要建立建立相应的二叉树链表;哈希查找相应的需要建立一个哈希表。 1. 2 基本要求 1) 输入的形式和输入值的范围; 在设计查找算法性能分析的过程中,我们调用产生随机数函数: srand((int)time(0)); 产生 N个随机数。 注:折半查找中需要对产生的随机数进行排序,需要进行排序后再进行输入, N50; 2) 输出形式; 查找算法分析过程中,只要对查找算法稍作修改就可以利用平均查找 长度的公式: ASL= ∑ PiCi ( i 从 1 到 n) 输出各种查找算法的平均查找长度。 注:平均查找长度 =总的平均查找长度 /N ; 3) 程序所能达到的功能 通过输出几种查找算法的 ASL,我们很显然能得在数据量较小时 N100)我们在实现静态查找时应该选择如何调用哪种查找算法。 概要设计 说明本程序中用到的所有抽象数据类型的定义。主程序的流程以及各程序模块之间 的层次 ( 调用 ) 关系。 1、  数据结构 顺序查找 :在 行 序 找 序表 型定 需要定  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] ink 找到起始

文档评论(0)

1亿VIP精品文档

相关文档