快速掌握演算法思維
應對求職時IT公司的各種演算法面試題
用範本和框架思維解決問題,以不變應萬變
本書的最大功效
逐步指導讀者大量演練演算法題目,以及各種演算法題型的樣式和框架,快速掌握演算法思維,以應對求職時IT公司的各種演算法面試題,或是增進讀者編寫程式的技巧。
本書並不適合純新手來閱讀
如果你對基本的資料結構還一竅不通,那麼你需要先花幾天的時間看一本介紹基礎的資料結構書,去瞭解諸如佇列、堆疊、陣列、鏈結串列等基本資料結構。不需要非常精通,只需大致瞭解它們的特點和用法即可。我想大學時期學過資料結構課程的讀者,閱讀本書應該不會有什麼問題。
如果你學過資料結構
由於種種現實原因開始在刷題平台上演練,卻又覺得無所適從、心亂如麻,那麼本書可以解決你的燃眉之急。當然,如果你只是單純的演算法愛好者,以刷題為樂,本書也會給你不少啟發,讓你的演算法功力更上一層樓。
本書有許多題目都參考自LeetCode這個題目平台
題目解法的程式碼形式遵循該平台的標準。因此如果你習慣在LeetCode平台上演練演算法題目,那麼閱讀本書會更加遊刃有餘。當然,即使你沒有這個習慣也無妨,因為演算法的解題技巧都是通用的。
本書混用Python、C++和Java三種程式語言
筆者認為演算法題目的重點是在養成一種思維模式,不應該局限於具體的程式語言。不必擔心有的語言你不熟悉,演算法根本用不到程式語言層面的技巧,本書也會有意避開所有語言特性,而且後面會統一介紹三種語言的基本操作。