需要数据已经排序好二分查找的效率是log N。log指log2。100个元素,就是log(2)100 = 10。10次可以找到。效率为O(log n) 123456789101112131415161718192021fun main(args: Array<String>) { var result = 9//要查找的数据 var list = arrayListOf<Int>(1,3,5,7,9) var low = 0 var high = list.size -1 while (low <= high){ var mid = (low + high) / 2 var guess = list[mid] print(guess.toString() + "、") if (guess == result){ //TODO 找到了 print("找到了") return }else if (guess > result){ high = mid - 1 }else { low = mid + 1 } }} ← Previous post Next post → Tags 算法