1. 程式人生 > ><資料結構與演算法分析>讀書筆記--模型

<資料結構與演算法分析>讀書筆記--模型

為了在正式的構架中分析演算法,我們需要一個計算模型。我們的模型基本上是一臺標準的計算機,在機器中指令被順序地執行。該模型有一個標準的簡單指令系統,如加法、乘法、比較和賦值等。但不同於實際計算機情況的是,模型機做任一簡單的工作都恰好花費一個時間單位。為了合理起見,我們將假設模型像一臺現代計算機那樣固定大小的整數並且不存在如矩陣求逆或排序這種想象的操作,它們顯然不能在一個時間單位內完成。我們還假設模型機有無線的記憶體。

顯然,這個模型有些缺點。很明顯,在現實生活中不是所有的運算都恰好花費相同的時間。特別在我們的模型中,一次磁碟讀入按一次加法計時,雖然加法一般要快幾個數量級。還有,由於假設有無線記憶體,我們再不擔心缺頁中斷,而它可能是個實際問題,特別是對一些高效的演算法。

 

從上面這段話中,我們或許會提出一個問題,什麼是計算模型?

我百度找了下,想找一個官方的說辭,但是大多顯示出來的結果是分散式計算模型、平行計算模型。

於是我認為,計算即處理,可以將計算模型理解為處理模型,所謂的計算模型本質上還是對資料進行處理,比如假定記憶體有限的情況下,而資料大量,這個資料是可以通過演算法進行優化的,於是我們可以以某種模型來對待資料,然後編寫對應的演算法處理,模型可以理解為是模式。