1. 程式人生 > 實用技巧 >《演算法圖解》總結第 1 章:二分查詢、大O表示法

《演算法圖解》總結第 1 章:二分查詢、大O表示法

僅用於記錄學習,歡迎批評指正,大神勿噴

第1章:演算法簡介

演算法是一組完成任務的指令,任何程式碼片段都可視為演算法。

二分查詢

原理

二分查詢的輸入是一個有序的元素列表,如果要查詢的元素包含在列表中,二分查詢返回其位置,否則返回null。舉例說明二分查詢的原理:若有一串1-52的數,我們想要找到13這個數所在的位置,若我們盲猜,即每次猜測只能排除一個數,假設猜完除13之外的所有數後才猜到13,我們需要猜52次才能猜到13,這種查詢方法被稱為簡單查詢,也稱為傻找。若我們用二分查詢來猜數,每次猜的數為剩餘總體數的一半,每次就會排除一半的數,以此題為例,總數是52,其一半是26,即我們第一次猜的數是26,因為26>13,朋友會告訴我們猜大了,那我們就會排除26-52這一半數,猜剩餘總數26的一半即13,剛好猜到,僅僅用了2次機會。

演算法實現

Python
程式碼釋義在右側,方便理解,下方也給出了一個引例

大O表示法

大O表示法僅用來表示演算法的執行時間,演算法的執行時間並不以秒為單位,是從其增速的角度度量的。