赞
踩
目录
- private int FindNIndex(int[] numbers, int n){
- int index = -1;
- int l=0,r=numbers.Length-1;
- while(l<=r){
- int mid = (l+r)/2;
- if(numbers[mid]==n){
- index = mid;
- break;
- }else if(numbers[mid]<n){
- l = mid+1;
- }else if(numbers[mid]>n){
- r = mid-1;
- }
- }
-
- return index;
- }
二分查找在最坏的情况下依次是n/2,n/4,n/8... n/2^k一直查到1为止。k就是执行的次数
所以二分查找的时间复杂度是O(logn),在有序数组中的搜索应用非常的广泛且实用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。