cwlr.net
当前位置:首页 >> 对22个数据元素的有序顺序表进行折半查找,当查找失... >>

对22个数据元素的有序顺序表进行折半查找,当查找失...

至少需要4次, 第一次与第11个位置上的数进行比较 mid = (0 + 21)/2 = 10,不相等进入[0,9]区域进行查找 第二次与第5个位置上的数进行比较 mid = (0 + 9)/2 = 4,不相等进入[0,3]区域进行查找 第三次与第2个位置上的数进行比较 mid = (0 + 3...

长度16,序号0-15,得到折半查找判定树的最大层数是5,所以最多比较5次。

//用vc调试过了有问题可以提出 #include #define listsize 100 typedef struct { int data[listsize]; int length; }sqlist;//顺序表的类型 void createtsqlist(sqlist &L,int a[],int n)//用数组创建顺序表 { L.length=0; for(int i=0;i

比较10次。 1个元素的时候比较1次 2~3个元素比较2次 4~7个元素比较3次 8~15 4 16~31 5 32~63 6 64~127 7 128~255 8 256~511 9 512~1023 10 就是log2n取整后 +1

这是由链表的特性决定的。链表是很典型的顺序存取结构,数据在链表中的位置只能通过从头到尾的顺序检索得到,即使是有序的,要操作其中的某个数据也必须从头开始。这和数组有本质的不同。数组中的元素是通过下标来确定的,只要你知道了下标,就...

// hgjkg.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #define n 11 int count=0; int bin_search(int a[],int low,int high,int x) //折半查找函数 { count++; int mid; if(low>high) return -1; else { mid=(low+high)/2; if(...

先找到中间值 用82跟你的中间值比较 中间值大 则向后查找 小了则向前查找

你有学过数据结构没有? 你看一下,看了有哪不懂的可以问我! 我再帮你解答,你这一下让我写程序,我没时间写啊! //我暂时就给你写了二分查找的,其它的过两天给你,我没时间写啊,一直都有课 #include using namespace std; const int size =5...

你会发现折半查找的判定树是一个完全二叉树,其数的深度就是最大比较次数。 因此,有n个结点的完全二叉树的深度是log(2)n(向下取整)+1 16代入n,得到答案5。 因此最大比较次数是5

//顺序查找 int findKey(int array[], int length, int key) { for (int i = 0; i < length; i++) if (array[i] == key) return i; return -1; } //折半查找 int findKeybyBinary(int array[], int low, int high, int key) { if (low > high) r...

网站首页 | 网站地图
All rights reserved Powered by www.cwlr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com