評量演算法好壞的Big O | 安心吃豬豬
![評量演算法好壞的Big O](https://i.imgur.com/NKlYqbj.jpg)
2019年9月4日—BigO是用來描述一個演算法在輸入n個東西時,總執行時間與n的關係。想知道更精確的解釋可以看維基百科.時間複雜度單位?這裏順便補充一下,演算法多 ...
![評量演算法好壞的Big O](https://i.imgur.com/NKlYqbj.jpg)
Illustration by Adit Bhargava
同一個問題可以用不一樣的演算法解決,那到底哪一個最好? 這時就需要一個"評量的指標",這邊有兩個評量演算法好壞的指標
花的時間 (時間複雜度) 佔用記憶體空間想當然爾,花的時間越少、佔記憶體空間越少就是越好的演算法!
實務上是用大 O 符號(Big O notation,以下文章都會用 Big O)來記錄時間複雜度的快慢。接下來讓我繼續用上一篇找書[1]的情境來解釋
圖書館找書跟 Big O今天你想要在圖書館找一本叫 "Lion King" 的書.有兩個選擇
從第一個書櫃的第一本書開始找直到找到為止 用圖書館裡電腦提供的搜索書本網站找方法 1 會隨著書本數 (n) 增加,需要的時間就等比增加,時間複雜度是 Big O(n);而方法 2 不管書本數 (n) 如何增加,他都不會被影響,永遠是 1 分鐘就可以找到,時間複雜度是 Big O(1)。
假如圖書館只有一本書,你可能覺得不需要特別在電腦上查。但當書本數 (n) 到達 100 本時,用電腦查就比一本一本找快了 100 倍。
總結一下 Big O
Big O 是用來描述一個演算法在輸入 n 個東西時,總執行時間與 n 的關係。
想知道更精確的解釋可以看維基百科[2]
時間複雜度單位 ?這裏順便補充一下,演算法多快不是以秒衡量而是步驟次數。因為每個人電腦速度不同,程式語言也不同,用秒計算顯然不夠客觀。
以圖書館例子就可以知道
// 從 10 本書裡面找 "Lion King" // n = 10 // 方法1 一本一本找 // 步驟次...[資料結構- (Data Structure | 安心吃豬豬
評量演算法好壞的Big O | 安心吃豬豬
一起幫忙解決難題,拯救IT 人的一天 | 安心吃豬豬
快快樂樂學Big-O | 安心吃豬豬
大O符號 | 安心吃豬豬
初學者學演算法 | 安心吃豬豬
[Algorithm]進階Big O | 安心吃豬豬
Complexity:Asymptotic Notation(漸進符號) | 安心吃豬豬
Big O算法 | 安心吃豬豬
![](https://i.imgur.com/NKlYqbj.jpg)
大記號:雲林縣台灣認證豬肉推薦
雲林縣【大記號】本店使用國產豬肉地址:雲林縣斗六市興北街78號產品簡介:本店使用國產豬肉營業日:星期二,星期三,星期四,...