如何使用本書
我的目標是寫一本既不泛泛而談,又可供學生們獨立閱讀的教材。為了實現這個目標,本書做了如下努力。
● 根據喬治·福賽思的觀點(參見前面的引文),我試圖著重強調隱藏在算法設計和分析背后的主要思想。在選擇特定的算法來闡述這些思想的時候,我并不傾向于涉及大量的算法,而是選擇那些最能揭示其內在設計技術或分析方法的算法。幸運的是,大多數經典算法滿足這個要求。
● 第2章主要分析算法的效率,該章將分析非遞歸算法的方法和分析遞歸算法的典型方法區別開來。這一章還花了一些篇幅介紹算法經驗分析和算法可視化。
● 書中系統地穿插著一些面向讀者的提問。其中有些問題是經過精心設計的,而且答案緊隨其后,目的是引起讀者的注意或引發疑問。其余問題的用意是防止讀者走馬觀花,不能充分理解本書的內容。
● 每一章結束時都會對本章最重要的概念和結論做一個總結。
● 本書包含600多道習題。有些習題是為了給大家練習,另外一些則是為了指出書中正文部分所涉及內容的重要意義,或是為了介紹一些書中沒有涉及的算法。有一些習題利用了因特網上的資源。較難的習題數量不多,會在教師用書中用一種特殊的記號標注出來(因為有些學生可能沒有勇氣做那些有難度標注的習題,所以本書沒有對習題標注難度)。謎題類的習題用一種特殊的圖標做標注。
● 本書所有的習題都附有提示。除了編程練習,習題的詳細解法都能夠在教師資源中找到。請發送郵件到[email protected],申請教師相關資源(也可聯系培生公司的當地銷售代表,或者訪問www.pearsonhighered.com/irc)。本書的任何讀者都可以在CS支持網站