本書通過主人公小灰的心路歷程,用漫畫的形式講述了演算法和數據結構的基礎知識,複雜多變的演算法面試題目及演算法的實際應用場景。
首先介紹了演算法和數據結構的總體概念,告訴大家演算法是什麼,數據結構又是什麼,都有哪些用途,如何分析時間複雜度,如何分析空間複雜度。第二章 介紹了最基本的數據結構,包括數組、鏈表、棧、隊列、哈希表的概念和讀寫操作。第三章 介紹了樹和二叉樹的概念、二叉樹的各種遍歷方式、二叉樹的特殊形式二叉堆和優先隊列的應用。第四章 介紹了幾種典型的排序演算法,包括冒泡排序、快速排序、堆排序、計數排序、桶排序。第五章 介紹了十余種職場上流行的演算法面試題目及詳細的解題思路。例如怎樣判斷鏈表有環、怎樣計算大整數加法等。第六章 介紹了演算法在職場上的一些應用,例如使用LRU演算法來淘汰冷數據,使用Bitmap演算法來統計用戶特徵等。
微信公眾號程序員小灰的作者,多年的軟體行業從業經驗,先後在京東金融和摩拜科技從事演算法和研發相關工作,對演算法有著深入的研究。