C100-350 

C名題精選百則 - 使用C語言 「技巧篇」,冼鏡光編著。

很我欣賞冼先生的治學態度:註明出處,以及參考書目,他連譯書都會加入一些譯者註和邊欄 (sidebox) 補充說明,JJ Hou 也有這個特色。

唉,想起國內曾有某作者大量參用我的書以及軟體架構與演算法,出書牟利卻隻字未提,連個招呼也不打,文化差很多呴(對不起,離題了)

冼先生在這本書中強調的是「效率」,不是程式語言的最佳化 (optimization),而是問題解法 (solution) 在演算法上的實作效率。

高效率編程而錯誤的演算法,比低效率編碼而正確的演算法還可怕。有道是:錯誤的政策比貪污還可惡。或曰:作對的事情,比把事情對作對還重要。(Do right things is more important than do things right.)

演算法的訓練太重要了吧!?把腦袋當作麵團來揉,越揉越 Q哩。一時用不到,難保以後不會用到。

就拿在程式語言/設計的版上,不少人在談的問題挑出四個:

八后問題 (Eight Queen),這本書裡 8-4, 8-5 的 N后問題,就有遞歸與非遞歸的解法。

刮號匹配 Parsing, 以及 Reversed/Prefix Polish Form 的問題,本書 6-1, 6-2, 6-3 也有專題討論。

較為複雜的字串比對問題,本書 6-4,6-5也給了 KMP 與 BM 的解法。

隨手拈來,可見本書的實用性之一斑。

冼先生說:「C並不是一個很合適用來做這件工作(指設計一個高效率的演算法)的語言,它獨特而且有些怪異但卻很方便的語法,往往會使一個讀程式的初學者無所適從。」

的確,像我是把 C當作「組合語言的組合語言」來用,因為在編碼效率方面,可以掌控高效率。但是就演算法而言,我個人是比較偏好看作者以 Pascal 來陳述。

我想,冼先生會用C,應該是因當時 C 語言是顯學吧。

這本書說明清晰,解答翔實又有啟發性。在我的書架上,它跟冼譯 K&R C 程式語言/習題解答並列。

這本書刻意地劃出了資料結構的主題不探,照冼先生的計畫,是要留到「後續的專書」處理,若真的出書,我們可以把這系列的書看成冼氏的 "Gem of Algorithms: I II III IV V...".

但是冼先生後來那些年迷上 3D 光跡追蹤,很可能這本書將成絕響了。:(

 

格致/儒林 出版 

pages

1.0公斤

3.0 cm 厚 

無碟片。

書況佳,僅一冊。

特以 NT$140.-元出讓,含郵局寄掛號。(限台灣本島)

意者於本文留悄悄話。確定有人要了,會在這裡註明。

  

本文已遷往新格子:Yu piper's paradiso 下次來訪請到新址,謝謝 

 


v1.0 by Autusumm 秋草夏人 2014.11.01

arrow
arrow

    秋草夏人 發表在 痞客邦 留言(1) 人氣()