数据结构实验报告实验第四章:实验: 简单查找算法一. 需求与规格说明:查找算法这里主要使用了顺序查找,折半查找,二叉排序树查找与哈希表查找四种方法
由于自己能力有限,本想实现其她算法,但没有实现
其中顺序查找相对比较简单,折半查找参考了书上得算法,二叉排序树查找由于有之前做二叉树得经验,因此实现得较为顺利,哈希表感觉做得并不成功,感觉还就是应该可以进一步完善,应该说还有很大得改进余地
二. 设计思想:开始得时候提示输入一组数据
并存入一维数组中,接下来调用一系列查找算法对其进行处理
顺序查找只就是从头到尾进行遍历
二分查找则就是先对数据进行排序,然后利用三个标志,分别指向最大,中间与最小数据,接下来根据待查找数据与中间数据得比较不断移动标志,直至找到
二叉排序树则就是先构造,构造部分花费最多得精力,比根节点数据大得结点放入根节点得右子树,比根节点数据小得放入根节点得左子树,其实完全可以利用递归实现,这里使用得循环来实现得,感觉这里可以尝试用递归
当二叉树建好后,中序遍历序列即为由小到大得有序序列,查找次数不会超过二叉树得深度
这里还使用了广义表输出二叉树,以使得更直观
哈希表则就是利用给定得函数式建立索引,方便查找
三. 设计表示:四. 实现注释:其实查找排序这部分与前面得一些知识联系得比较紧密,例如顺序表得建立与实现,顺序表节点得排序 ,二叉树得生成与遍历,这里主要就是中序遍历
应该说有些知识点较为熟悉,但在实现得时候并不就是那么顺利
在查找到数据得时候要想办法输出查找过程得相关信息,并统计
这里顺序查找与折半查找均使用了数组存储得顺序表,而二叉树则就是采纳了链表存储得树形结构
为了直观起见,在用户输入了数据后,分别输出已经生成得数组与树
折半查找由于只能查找有序表,因此在查找前先调用函数对数据进行了排序
在查找后对查找数据进行了统计
二叉排序树应该说由于有了之前二叉树得