1. 演算法與運算

更新 發佈閱讀 1 分鐘

Lecture 1: Algorithms and Computation

課程目的

  • 解決電腦上遇到的問題
  • 證明正確性
  • 探討效率

並且很著重溝通,說服別人你做的事是正確且有效率的。

何謂電腦問題

你有輸入,需要輸出。

A輸入的正確解答是BCD輸出,解決這個問題的方法就是電腦問題。

演算法

給一個輸入,軟體或方法給一個「正確」輸出,就是演算法。

範例:學生生日相同與否演算法

方法一

記錄所有學生的生日,每次紀錄新資料時,比對已記錄資料,若有相同生日,回傳「是」。

時間複雜度:O(n)

空間複雜度:O(n)

正確性

歸納法證明

若前K名學生有人的生日一樣,在問第K+1名學生之前回傳「是」。

若K=0,則回傳「否」。

則K=K'時,會出現兩種情況:

  1. K’已回傳「是」,有相同解。
  2. K’沒有相同解,比較K’+1。

效率

衡量效率時需要顧慮電腦性能與輸入資料規模,所以不比較時間,而比較輸出答案所需的執行次數。

為此會需要用到「漸近分析」,會在之後被討論到。

預期演算法會隨著輸入大小改變輸出所需時間。

漸近符號(asymptotic notation)

大 O 符號(Big O notation):最高上限

大 Ω 符號(Big Omega notation):最低下限

大 θ 符號(Big Theta notation):上下限之間的區間

raw-image



計算模型

Word RAM

「Word」代表的是CPU可以處裡的資料量,RAM就是記憶體(Random access memory)。

現在的作業系統大多是64bits,以前是32bits。

32bits最多只能有2^32bytes的儲存空間,大約4GB。

64bits可以有2^64bytes,大約20EB,短時間內用不完就對了。

CPU

可以進行數字運算、邏輯判斷、Bitwise Operation

資料結構

前八堂課會討論資料結構,會討論儲存大資料的方法與怎麼讓CPU可以操作這些資料。

留言
avatar-img
程式貓咪
2會員
2內容數
這是MIT演算法概論的筆記
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
市場經驗拉長之後,很多投資人都會遇到同一個問題:不是方向看錯,而是部位太集中個股,常常跟大趨勢脫節。 早年的台股環境,中小股非常吃香,反而權值股不動,但QE量化寬鬆後,特別是疫情之後,後疫情時代,鈔票大量在股市走動,這些大資金只能往權值股走,因此早年小P的策略偏向中小型個股,但近年AI興起,高技術
Thumbnail
市場經驗拉長之後,很多投資人都會遇到同一個問題:不是方向看錯,而是部位太集中個股,常常跟大趨勢脫節。 早年的台股環境,中小股非常吃香,反而權值股不動,但QE量化寬鬆後,特別是疫情之後,後疫情時代,鈔票大量在股市走動,這些大資金只能往權值股走,因此早年小P的策略偏向中小型個股,但近年AI興起,高技術
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
中學數學基礎練習—一元一次方程式
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
高中數學主題練習—對數方程式
Thumbnail
最近有新的訂閱者加入, 想趁這個機會再分享一次學習心法與建議給第一次練習的讀者、同學們。 如果你本身已經很熟練演算法,那隨機挑題目練習ok,可以測試觀念是否正確,並且驗證寫code的效率與正確程度。 如果是剛畢業或還在學,以前沒有打過程式競賽。 想開始有系統地增強演算法&資料結構的能力
Thumbnail
最近有新的訂閱者加入, 想趁這個機會再分享一次學習心法與建議給第一次練習的讀者、同學們。 如果你本身已經很熟練演算法,那隨機挑題目練習ok,可以測試觀念是否正確,並且驗證寫code的效率與正確程度。 如果是剛畢業或還在學,以前沒有打過程式競賽。 想開始有系統地增強演算法&資料結構的能力
Thumbnail
決斷的演算:預測、分析與好決定的11堂邏輯課 探討人類演算法的設計概念,把電腦科學解決問題的方法套用到人類日常生活的挑戰上。
Thumbnail
決斷的演算:預測、分析與好決定的11堂邏輯課 探討人類演算法的設計概念,把電腦科學解決問題的方法套用到人類日常生活的挑戰上。
Thumbnail
解決電腦上遇到的問題、證明正確性、探討效率 並且很著重溝通,說服別人你做的事是正確且有效率的。 內容: 計算模型、資料結構介紹、演算法介紹、時間複雜度介紹。
Thumbnail
解決電腦上遇到的問題、證明正確性、探討效率 並且很著重溝通,說服別人你做的事是正確且有效率的。 內容: 計算模型、資料結構介紹、演算法介紹、時間複雜度介紹。
Thumbnail
專案分享-計算機 邏輯思維:首先,要建立幾個變數與函式,方便我們作業。接下來針對每一個函式進行解釋。 讓大家可以自己動手做一個簡易的計算機
Thumbnail
專案分享-計算機 邏輯思維:首先,要建立幾個變數與函式,方便我們作業。接下來針對每一個函式進行解釋。 讓大家可以自己動手做一個簡易的計算機
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News