设n个不同的整数排好序后存于T[0:n-1]中。若存在一个下标i,0<=i<n,使得T[i]=i,设计一个有效算法找到这个下标。要求算法在最坏情况下的计算时间为O(logn)。
第一行n,表示元素个数,n<=1000
第二行,n个排好序的整数
输出有两行:
第一行输出使T[i]=i的i值,如果没有找到,输出-1;
第二行输出比较次数。
设n个不同的整数排好序后存于T[0:n-1]中。若存在一个下标i,0<=i<n,使得T[i]=i,设计一个有效算法找到这个下标。要求算法在最坏情况下的计算时间为O(logn)。
第一行n,表示元素个数,n<=1000
第二行,n个排好序的整数
输出有两行:
第一行输出使T[i]=i的i值,如果没有找到,输出-1;
第二行输出比较次数。
2分法查找,由于已经排序好,而且只有一个值为T[i]=i 最差结果,花费时间正好是 O(logn)
输出用一个计数器嘛 ,查找一次加一,最后输出就得