我們在比較演算法的時候經常說 演算法1 比 演算法2 快 2倍 之類的話,但實際上類似這種說法不具有說服力。 因為當資料的個數發生變化時,對應的比例可能也會發生改變,有可能 當資料為10個時,演算法1比演算法2快2倍,但是當資料為100時,演算法1有可能比演算法2快3倍。因此需要乙個用來描述演算法的效率與資料個數 之間關係的東西----大o表示 order of 大約是....
探索演算法的效率
n 表示資料項個數
k 表示常數
t 表示時間
1.無序陣列的插入乙個資料的時間為 乙個常數 t=k ,因為資料項總是放在空閒的位置,一次插入足夠了。
2.線性查詢 :與 n 成正比 t = k * n
3.二分查詢 : t = k*log(n)
以上演算法 用 大o 表示為:
可以理解為 o(1) 為優秀 o(logn) 為良好 o(n) 為一般
通過上面的比較 可以了解到 無序陣列的插入是優秀的,但是查詢是一般的,有序陣列的二分查詢為良好的,但是插入是一般的,無論有序還是無序 刪除都是一般的 。
如何表示演算法的效率?初識大O表示
我們在比較演算法的時候經常說 演算法1 比 演算法2 快 2倍 之類的話,但實際上類似這種說法不具有說服力。因為當資料的個數發生變化時,對應的比例可能也會發生改變,有可能 當資料為10個時,演算法1比演算法2快2倍,但是當資料為100時,演算法1有可能比演算法2快3倍。因此需要乙個用來描述演算法的效...
大O表示法
用另乙個 通常更簡單的 函式來描述乙個函式數量級的漸近上界。大o表示法 稱乙個函式g n 是o f n 當且僅當存在常數c 0和n0 1對一切n n0均有 g n c f n 成立,也稱函式g n 以f n 為界或者稱g n 受限於f n 記作g n o f n 定義 如果乙個問題的規模是n,解這一...
大O表示法
大o表示法 汽交按尺寸被分為若干類 微型 小型 中型等等。在不提及具體尺寸的情況下,這些分類可以為我們所涉及到車的大小提供乙個大致慨念。我們同樣也需要一種快捷的方法來評價計算機演算法的效率,在電腦科學中,這種粗略的度量方法被稱作 大o 表示法。在比較演算法時似乎應該說一些類似 演算法a比演算法b快兩...