python 二分查找和快速排序?qū)嵗斀?/h1>
更新時(shí)間:2017年10月13日 15:07:32 作者:Inc_Cool
本文通過(guò)實(shí)例代碼給大家詳細(xì)介紹了python 二分查找和快速排序,的相關(guān)知識(shí),需要的朋友可以參考下
思想簡(jiǎn)單,細(xì)節(jié)頗多;本以為很簡(jiǎn)單的兩個(gè)小程序,寫起來(lái)發(fā)現(xiàn)bug頻出,留此紀(jì)念。
#usr/bin/env python
def binary_search(lst,t):
low=0
height=len(lst)-1
quicksort(lst,0,height)
print lst
while low<=height:
mid = (low+height)/2
if lst[mid] == t:
return lst[mid]
elif lst[mid]>t:
height=mid-1
else:
low=mid+1
return -1
def quicksort( lst, left , right):
low=left
high=right
key=lst[left]
if left>=right:
return 0
while low<high:
while low<high and key<lst[high]:
high=high-1
lst[low]=lst[high]
while low<high and key>lst[low]:
print lst[low]
low=low+1
lst[high]=lst[low]
lst[low]=key
quicksort( lst , left ,low-1)
quicksort( lst , low+1 , right)
if __name__=='__main__':
print binary_search([4,8,1,5,10,2,12,3,6,9],4)
總結(jié)
以上所述是小編給大家介紹的python 二分查找和快速排序?qū)嵗斀猓M麑?duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
-
解決IDEA 的 plugins 搜不到任何的插件問(wèn)題
這篇文章主要介紹了解決IDEA 的 plugins 搜不到任何的插件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧 2020-05-05
-
python消除序列的重復(fù)值并保持順序不變的實(shí)例
今天小編就為大家分享一篇python消除序列的重復(fù)值并保持順序不變的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧 2018-11-11
-
node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn)
本文主要介紹了node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧 2023-02-02
-
Django CSRF跨站請(qǐng)求偽造防護(hù)過(guò)程解析
這篇文章主要介紹了Django CSRF跨站請(qǐng)求偽造防護(hù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下 2019-07-07
-
一篇文章入門Python生態(tài)系統(tǒng)(Python新手入門指導(dǎo))
原文寫于2011年末,雖然文中關(guān)于Python 3的一些說(shuō)法可以說(shuō)已經(jīng)不成立了,但是作為一篇面向從其他語(yǔ)言轉(zhuǎn)型到Python的程序員來(lái)說(shuō),本文對(duì)Python的生態(tài)系統(tǒng)還是做了較為全面的介紹 2015-12-12
最新評(píng)論
思想簡(jiǎn)單,細(xì)節(jié)頗多;本以為很簡(jiǎn)單的兩個(gè)小程序,寫起來(lái)發(fā)現(xiàn)bug頻出,留此紀(jì)念。
#usr/bin/env python
def binary_search(lst,t):
low=0
height=len(lst)-1
quicksort(lst,0,height)
print lst
while low<=height:
mid = (low+height)/2
if lst[mid] == t:
return lst[mid]
elif lst[mid]>t:
height=mid-1
else:
low=mid+1
return -1
def quicksort( lst, left , right):
low=left
high=right
key=lst[left]
if left>=right:
return 0
while low<high:
while low<high and key<lst[high]:
high=high-1
lst[low]=lst[high]
while low<high and key>lst[low]:
print lst[low]
low=low+1
lst[high]=lst[low]
lst[low]=key
quicksort( lst , left ,low-1)
quicksort( lst , low+1 , right)
if __name__=='__main__':
print binary_search([4,8,1,5,10,2,12,3,6,9],4)
總結(jié)
以上所述是小編給大家介紹的python 二分查找和快速排序?qū)嵗斀猓M麑?duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
解決IDEA 的 plugins 搜不到任何的插件問(wèn)題
這篇文章主要介紹了解決IDEA 的 plugins 搜不到任何的插件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
python消除序列的重復(fù)值并保持順序不變的實(shí)例
今天小編就為大家分享一篇python消除序列的重復(fù)值并保持順序不變的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn)
本文主要介紹了node命令行服務(wù)器(http-server)和跨域的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Django CSRF跨站請(qǐng)求偽造防護(hù)過(guò)程解析
這篇文章主要介紹了Django CSRF跨站請(qǐng)求偽造防護(hù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
一篇文章入門Python生態(tài)系統(tǒng)(Python新手入門指導(dǎo))
原文寫于2011年末,雖然文中關(guān)于Python 3的一些說(shuō)法可以說(shuō)已經(jīng)不成立了,但是作為一篇面向從其他語(yǔ)言轉(zhuǎn)型到Python的程序員來(lái)說(shuō),本文對(duì)Python的生態(tài)系統(tǒng)還是做了較為全面的介紹2015-12-12

