Python实现二分查找


Python #二分查找 #算法2012-11-20 10:00

代码如下:

01'fileName--BinarySearch.py'
02 
03src = []
04 
05def BinarySearch(low, high, target, *src):
06    '二分查找 http://yige.org '
07    while low <= high:
08        mid = (low + high) // 2
09        midVal = src[mid]
10        if target < midVal:
11            high = mid - 1
12        elif target > midVal:
13            low = mid + 1
14        else:
15            return mid
16        BinarySearch(low, high, target, *src)
17 
18print('Please input 10 number:')
19for number in range(10):
20    src.append(int(input('Num %d:' % number)))
21 
22sortList = tuple(src)
23 
24key = int(input('Please input key:'))
25location = BinarySearch(0, len(src) - 1, key, *sortList)
26 
27if location != None:
28    print('Find target at %d' % (location + 1))
29else:
30    print('No target!')


相关文章

粤ICP备11097351号-1