国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Pythonic版二分查找實現過程原理解析

Pythonic版二分查找實現過程原理解析

2020-08-11 23:55天外歸云 Python

這篇文章主要介紹了Pythonic版二分查找實現過程原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

前提:升序數組,待查元素在數組中。

二分查找:就是一個遞歸函數c。待查元素a,當前數組中位數b,如果b=a則返回b的索引,b>a則在b左側的子數組中調用函數c,否則在b右側子數組中調用函數c。

第一次思考,按著上面的思路編程后的結果:

?
1
2
3
4
5
6
7
def binary_search(index, a, value):
  if a[(len(a) - 1) // 2] == value:
    return index + (len(a) - 1) // 2
  elif a[(len(a) - 1) // 2] < value:
    return binary_search(index + (len(a) - 1) // 2 + 1, a[(len(a) - 1) // 2 + 1:], value)
  else:
    return binary_search(index, a[0:(len(a) - 1) // 2 + 1], value)

第二次思考,簡化中位數計算邏輯:

?
1
2
3
4
5
6
7
def binary_search(index, a, value):
  if a[len(a) // 2] == value:
    return index + len(a) // 2
  elif a[len(a) // 2] < value:
    return binary_search(index + len(a) // 2, a[len(a) // 2:], value)
  else:
    return binary_search(index, a[0:len(a) // 2], value)

第三次思考,去掉return,改為lambda形式:

binary_search = lambda index,a,value: index + len(a) // 2 if a[len(a) // 2] == value else binary_search(index + len(a) // 2, a[len(a) // 2:], value) if a[len(a) // 2] < value else binary_search(index, a[0:len(a) // 2], value)

以上就是二分查找變為“一行代碼”版的過程。

運行測試:

?
1
2
3
if __name__ == '__main__':
  a = [1, 2, 33, 43, 52, 66, 88, 99, 111, 120]
  print(f"Target index: {binary_search(0, a, value=33)}")

結果如下:

Pythonic版二分查找實現過程原理解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/LanTianYou/p/8907354.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 1000部精品久久久久久久久 | 久草在线视频网 | 国产精品免费av | 国产成人综合av | 91精品视频导航 | 久久久久国产精品 | 91精品国产乱码久久久久久 | 中文字幕一区二区三区四区五区 | 中文字幕乱码视频32 | 人人超碰97 | 一级一片免费 | 偷拍一区二区三区 | 免费视频黄 | 99精品欧美一区二区三区综合在线 | 欧美透逼 | 日韩精品99 | 欧美精品在线一区二区三区 | 亚洲精品白浆高清久久久久久 | 亚洲一区中文字幕在线观看 | 日本免费黄色 | 天天插狠狠插 | 欧美视频免费看 | 国内成人免费视频 | 亚洲国产一区二区三区 | 日韩电影一区二区在线观看 | 久久久www免费人成精品 | 久久精品亚洲精品 | 久久一区 | 婷婷激情五月 | 国产精品欧美一区二区三区不卡 | 99热视 | 黑人粗大视频 | 午夜区| 欧美亚洲高清 | 国产精品久久久久久久久久久免费看 | 一区亚洲 | 97精品国产一区二区三区 | 亚洲国产精品久久久久久 | 国产精品国产 | 国产免费自拍av | 国产精品中文在线 |