日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python信息找人的算法_算法篇-python查找算法

發(fā)布時(shí)間:2023/12/10 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python信息找人的算法_算法篇-python查找算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上一篇的遞歸算法中,了解到算法的復(fù)雜度。遞歸就是在函數(shù)中調(diào)用本身。

在漢諾塔游戲例子中,如果你需要移動(dòng)的盤子很多時(shí),程序運(yùn)行就會(huì)消耗很長(zhǎng)時(shí)間來計(jì)算結(jié)果。可以回顧下 —>算法篇-python遞歸算法

用遞歸打印斐波那契數(shù)列,你會(huì)發(fā)現(xiàn),即使n只有幾十的時(shí)候,你的計(jì)算機(jī)內(nèi)存使用量已經(jīng)飆升了。

可以結(jié)合 生成器 優(yōu)化下程序,不管n有多大,都不會(huì)出現(xiàn)卡頓。

有一點(diǎn),關(guān)于遞歸次數(shù),python中有個(gè)限制,可以通過sys模塊來解決。

python 查找算法

查找就是根據(jù)給定的某個(gè)值,在查找表中確定一個(gè)關(guān)鍵字等于給定值的數(shù)據(jù)元素。

知道了查找的定義,試著用一個(gè)簡(jiǎn)單的例子,能想到 for 循環(huán)么?

有沒有發(fā)現(xiàn),是不是兩兩比較就能找到啦。假設(shè)列表中有很多元素,再用 for 循環(huán)來查找,得到結(jié)果的時(shí)間會(huì)不會(huì)更長(zhǎng)。

算法的復(fù)雜度是漸進(jìn)的,即對(duì)于一個(gè)大小為n的輸入,如果它的運(yùn)算時(shí)間為n3+5n+9,那么它的漸進(jìn)時(shí)間復(fù)雜度是n3

剛剛用的 for 循環(huán) 來查找,它的時(shí)間復(fù)雜度O(n)

有沒有繼續(xù)優(yōu)化的查找算法呢?

可以設(shè)想下,在列表中元素能一半一半的查找,再來查找目標(biāo)值,是不是就會(huì)快一些。

接著就是~

二分查找

上面說到,一半一半的查找,看目標(biāo)值在左邊一半還是右邊一半,然后替換左端點(diǎn)或者右端點(diǎn),繼續(xù)判斷。

直接上例子啦

總結(jié)

以上是生活随笔為你收集整理的python信息找人的算法_算法篇-python查找算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。