算法:Big O Notation(大 O 符號)

簡單來說:Big O notation(大 O 符號)會告訴你一個算法它有 “多快”。

簡單查找和二分查找算法簡介

首先了解兩個最簡單的算法:簡單查找和二分查找。

假設有一個排好序的列表(例如 1 到 100,我們要找 57 這個數),我們要從中找到一個特定的元素。那麼:

二分查找算法的視頻教程二分查找算法視頻教程

比較兩個算法

假設我們要從 100 個數的排好序列到表裏面找到一個數:

假設我們要從 40 億 個數的排好序的列表裏面找到一個數:

所以:

具體請看下錶:

y5Axkw

Big O Notation(大 O 符號)

Big O Notation 所謂的會告訴你一個算法有 “多快”,並不是指它會告訴你一個算法會運行多少秒,而是會告訴你該算法需要多少 “步” 操作(Operations)。從而就可以表示隨着集合的變大,這個算法的速度如何變化。

例如:

幾種常見算法的 Big O

KVpD5d

引用一個書上的圖片:

可以看到,針對不同的 Big O,隨着集合元素的增多,有些算法相對來說 “越來越快”,有些算法 “越來越慢”。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/syehEhiiImDY7hs5D1Ngzg