Chapter 5 - Data
為了避免程式設計師直接透過數字去思考問題,每個程式語言都會提供一些對欲處理的資料的抽象化機制來讓這些010000111變得有意義。這章開始說明Scheme提供的機制,包括:pair, list, tagged list for data abstraction,有了這幾個機制,實作適當的ADT(abstract data type)就不是件難事。要特別注意的是,Scheme裡對list操作的頻率極高,最好將每個習題都作一下以了解what is the Scheme way。最後一小節替第一章到第五章的內容作了個小結,一步步實作了一個較大的小遊戲。
Chapter 6 - Machines
這章從講古開始...機械式計算機的發展、數位計算機的發展、第一個程式設計師,然後重點在Turing Machines,基本上...嗯,這章我沒什麼"A-ha"的感覺。:P
Chapter 7 - Cost
這章講的是如何估算程式執行的代價。嗯,基本上就是把Big-O、Omega、Theta的表示法與估算如何進行講一遍。熟悉基本資料結構與演算法的同學這邊可以快速翻過。
Chapter 8 - Sorting and Searching
學了如何估算複雜度之後,當然就要舉一些實際的例子來驗證啦~這章講的是經典的sorting與searching。雖然不比專門的演算法教科書深入,但用Scheme來表示這些算法還是很好的練習。不過跟前一章一樣,如果你對基本的算法已經很熟悉了,那就很快地翻過去吧~(不過小弟自己的經驗是,工作了幾年後,還是應該要定期複習基本學科,免得在工作裡用了太過糟糕的算法,會被後續維護的工程師笑(罵?)...)
OK,接下來就是此書的精彩章節了,還有一章會實作Interpreter呢!!Watch out!! :)
為了避免程式設計師直接透過數字去思考問題,每個程式語言都會提供一些對欲處理的資料的抽象化機制來讓這些010000111變得有意義。這章開始說明Scheme提供的機制,包括:pair, list, tagged list for data abstraction,有了這幾個機制,實作適當的ADT(abstract data type)就不是件難事。要特別注意的是,Scheme裡對list操作的頻率極高,最好將每個習題都作一下以了解what is the Scheme way。最後一小節替第一章到第五章的內容作了個小結,一步步實作了一個較大的小遊戲。
Chapter 6 - Machines
這章從講古開始...機械式計算機的發展、數位計算機的發展、第一個程式設計師,然後重點在Turing Machines,基本上...嗯,這章我沒什麼"A-ha"的感覺。:P
Chapter 7 - Cost
這章講的是如何估算程式執行的代價。嗯,基本上就是把Big-O、Omega、Theta的表示法與估算如何進行講一遍。熟悉基本資料結構與演算法的同學這邊可以快速翻過。
Chapter 8 - Sorting and Searching
學了如何估算複雜度之後,當然就要舉一些實際的例子來驗證啦~這章講的是經典的sorting與searching。雖然不比專門的演算法教科書深入,但用Scheme來表示這些算法還是很好的練習。不過跟前一章一樣,如果你對基本的算法已經很熟悉了,那就很快地翻過去吧~(不過小弟自己的經驗是,工作了幾年後,還是應該要定期複習基本學科,免得在工作裡用了太過糟糕的算法,會被後續維護的工程師笑(罵?)...)
OK,接下來就是此書的精彩章節了,還有一章會實作Interpreter呢!!Watch out!! :)
留言
張貼留言