python信息找人的算法_算法篇-python查找算法
生活随笔
收集整理的這篇文章主要介紹了
python信息找人的算法_算法篇-python查找算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇的遞歸算法中,了解到算法的復雜度。遞歸就是在函數中調用本身。
在漢諾塔游戲例子中,如果你需要移動的盤子很多時,程序運行就會消耗很長時間來計算結果。可以回顧下 —>算法篇-python遞歸算法
用遞歸打印斐波那契數列,你會發現,即使n只有幾十的時候,你的計算機內存使用量已經飆升了。
可以結合 生成器 優化下程序,不管n有多大,都不會出現卡頓。
有一點,關于遞歸次數,python中有個限制,可以通過sys模塊來解決。
python 查找算法
查找就是根據給定的某個值,在查找表中確定一個關鍵字等于給定值的數據元素。
知道了查找的定義,試著用一個簡單的例子,能想到 for 循環么?
有沒有發現,是不是兩兩比較就能找到啦。假設列表中有很多元素,再用 for 循環來查找,得到結果的時間會不會更長。
算法的復雜度是漸進的,即對于一個大小為n的輸入,如果它的運算時間為n3+5n+9,那么它的漸進時間復雜度是n3
剛剛用的 for 循環 來查找,它的時間復雜度O(n)
有沒有繼續優化的查找算法呢?
可以設想下,在列表中元素能一半一半的查找,再來查找目標值,是不是就會快一些。
接著就是~
二分查找
上面說到,一半一半的查找,看目標值在左邊一半還是右邊一半,然后替換左端點或者右端點,繼續判斷。
直接上例子啦
總結
以上是生活随笔為你收集整理的python信息找人的算法_算法篇-python查找算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蜂鸣器驱动电路
- 下一篇: python启动方法_python启动服