Chinaunix首页 | 论坛 | 博客
  • 博客访问: 208260
  • 博文数量: 23
  • 博客积分: 534
  • 博客等级: 下士
  • 技术积分: 245
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-20 16:27
文章分类

全部博文(23)

文章存档

2015年(1)

2012年(21)

2011年(1)

分类: Python/Ruby

2012-02-08 19:36:20

折半查找法:针对有序数组
  1. def halfSearch(key, array, begin, end):
  2.     if begin > end:
  3.         return -1
  4.     middle = (begin + end)/2
  5.     #print begin, end,array[middle]
  6.     if array[middle] == key:
  7.         return middle
  8.     elif array[middle] > key:
  9.         return halfSearch(key, array, begin, middle-1)
  10.     else:
  11.         return halfSearch(key, array, middle+1, end)

  12. array = [-12,0,6,16,23,56,80,100,110,115]
  13. for i in array:
  14.     print halfSearch(i, array, 0, len(array)-1)
阅读(1451) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~