实验十- 查找技术验证实验之后.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验十- 查找技术验证实验之后

实验十 查找技术验证实验一、折半查找验证1. 实验目的⑴掌握折半查找算法的基本思想;⑵掌握折半查找算法的实现方法;⑶掌握折半查找算法的时间性能。2. 实验内容对给定的有序数组(假设长度为n),查找数组中与给定值k相等的元素。3. 实现提示折半查找的基本思想为:在有序数组中,取中间元素作为比较对象,若给定值与中间元素相等,则查找成功;若给定值小于中间元素,则在中间元素的左半区继续查找;若给定值大于中间元素,则在中间元素的右半区继续查找。不断重复上述过程,直到查找成功,或所查找的区域无元素,查找失败。二、二叉排序树的建立1. 实验目的⑴掌握二叉排序树定义和特性;⑵掌握二叉排序树的建立方法;⑶实现基于二叉排序树的查找技术;⑷掌握二叉排序树的查找性能。2. 实验内容⑴对给定的一组无序序列,建立一棵二叉排序树;⑵对建立的二叉排序树实现查找操作。?三,设计过程看到实验十,顿然生出一种,”哦, 这次的题目很容易, 最多两个小时做完”的感觉, 然后, 本着C#中的学生成绩排序系统的经验, 20分钟内做好折半查找的部分, 然后, 就是二叉排序树-------调试了三个小时, 一直困在 Insert() 函数的root=s中, 我不明白, 我的思路已经很清楚, 条理很分明, 结果本应该是行云流水的, 但是, 在这个该死的Insert 中, s的值一直无法传递给root!!! 现在, 在想了又想, 甚至推翻重做后, 我绝望了.FML, 是不是TMD的编译器的问题?四, 程序代码//BinarySearch.cpp#include iostream#include algorithm#include SearchWay.husing namespace std;BinarySearch::BinarySearch() //输入数据{cout\n请输入数列大小:\t;cinSize;for(inti=0; iSize; i++){cout请输入第 i+1 个数字: \t;cinBS[i];}cout输入结束!\n;sort(BS, BS+Size);cout排序后, 为: \t;for (inti=0; iSize; i++)coutBS[i] ;coutendl;}intBinarySearch::BiSearch(int Comp) //折半查找{int Low = 0, High = Size-1, Count = 0, Mid;while (Low = High){++Count;Mid = (Low + High)/2;if (BS[Mid] Comp){High = Mid-1;cout\t比较次数为: Countendl;cout\t 此时, Low= Low+1, High= High+1endlendl;}else if (BS[Mid] Comp){Low = Mid+1;cout\t比较次数为: Countendl;cout\t 此时, Low= Low+1, High= High+1endlendl;}else{cout\t比较次数为: Count;cout\n此数在该数列的第 Mid+1个位置上!\n;cout\t 此时, Low= Low+1, High= High+1endlendl;return 1;}}cout比较次数为: Countendl;cout数列中无此数!\n;return 0;}//BiSortTree.cpp#include iostream#include SearchWay.husing namespace std;BiNode *BiSortTree::Setup(){root = NULL;cout\n请输入数组大小:\t;cinBSize;BiNode *s;for(inti=0; iBSize; i++){cout请输入第 i+1 个数字: \t;s = new BiNode; cins-Number;s-LChild = NULL;s-RChild = NULL;Insert(root, s);}cout输入结束!\n;return root;}void BiSortTree::Insert(BiNode *root, BiNode *s) //插入{if (root == NULL){root = s;cout猪!;}else if (s-Number root-Number){Insert(root-LChild , s);cout猪2!;}else{Insert(root-RChild ,s);cout猪3!;}}BiNode *BiSortTree::BiSearch(BiNode *root, int Comp){intBSCount=0;if (root == NUL

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档