讓演算法不再讓人畏懼。
‧從基本資料結構,到各類排序演算法、面試的演算法題目,再到職場上的應用,跟著書中的主角帶領大家逐一破解。
‧領悟演算法概念、理解演算法對記憶體空間和效能的影響,動腦尋求解決問題的最佳方案。
這本書透過漫畫圖解的形式,講述了書中主角小灰學習演算法和資料結構知識的心路歷程。本書的前4章是對演算法與資料結構基礎知識的講解,沒有演算法和資料結構基礎的讀者可以從頭開始進行有系統的學習。第5章則是職場面試題目的講解,讓讀者了解目前職場中程式設計師所關心的演算法是什麼。第6章則是介紹了演算法在職場上的一些實際應用情況。
本書結構
第1章 介紹演算法和資料結構的相關概念,告訴大家演算法是什麼,資料結構又是什麼,它們有哪些用途,如何分析時間複雜度,如何分析空間複雜度。
第2章 介紹基本的資料結構,包括陣列、鏈結串列、堆疊、佇列、雜湊表的概念和讀寫操作。
第3章 介紹樹和二元樹的概念、二元樹的各種遍訪方式、二元樹的特殊形式—二元堆積和優先佇列的應用。
第4章 介紹幾種典型的排序演算法,包括泡泡排序、快速排序、堆積排序、計數排序、桶排序。
第5章 介紹10餘道職場上流行的演算法面試題目及詳細的解題思維。例如怎樣判斷鏈結串列是否有環,怎樣計算大整數相加等。
第6章 介紹演算法在職場上的一些應用,例如使用LRU演算法來淘汰很少用到資料,使用Bitmap演算法來統計使用者特徵等。