作 者:孫秀洋 著
定 價:138
出 版 社:電子工業出版社
出版日期:2021年12月01日
頁 數:476
裝 幀:平裝
ISBN:9787121423000
"歸納經典算法面試題,總結經典算法的各個知識點分析多個算法應用場景,快速構建算法知識體繫"
●第1章 準備面試要知己知彼
1.1 面試官為什麼要考查算法
1.2 編程語言
1.2.1 學好算法之前更要學好編程語言
1.2.2 代碼規範
1.3 如何寫簡歷
1.3.1 簡歷模板
1.3.2 謹慎使用“精通”
1.3.3 拿不準的內容絕對不要寫在簡歷上
1.3.4 項目經驗應該如何寫
1.3.5 博客的重要性
1.4 企業技術面試的流程
1.4.1 一面——機試面
1.4.2 二面——基礎算法面
1.4.3 三面——綜合技術面
1.4.4 四面——技術leader面
1.4.5 五面——HR面
1.5 本章小結
第2章 程序的性能分析
2.1 時間復雜度分析
2.1.1 什麼是時間復雜度
2.1.2 如何描述時間復雜度
2.1.3 遞歸算法的時間復雜度分析
2.2 程序的運行時間
2.2.1 超時是怎麼回事
2.2.2 從硬件配置看計算機的性能
2.2.3 測試計算機的運行速度
2.3 編程語言的內存管理
2.3.1 C++的內存管理
2.3.2 如何計算程序占用多少內存
2.3.3 內存對齊
2.4 空間復雜度分析
2.4.1 什麼是空間復雜度
2.4.2 遞歸算法的空間復雜度分析
2.4.3 以空間換時間是常見的優化思路
2.5 本章小結
第3章 數組
3.1 數組理論基礎
3.2 二分查找
3.2.1 二分法寫法(一)
3.2.2 二分法寫法(二)
3.3素
3.3.1 暴力解法
3.3.2 雙指針法
3.4 長度最小的子數組
3.4.1 暴力解法
3.4.2 滑動窗口
3.5 這個循環轉懵了很多人
3.5.1 循環不變量
3.5.2 代碼實現
3.6 本章小結
第4章 鏈表
4.1 鏈表理論基礎
4.1.1 鏈表的類型
4.1.2 鏈表的存儲方式
4.1.3 鏈表的定義
4.1.4 鏈表的操作
4.1.5 性能分析
4.2 用虛擬頭節點會方便得多
……
第5章 哈希表
第6章 字符串
第7章 棧與隊列
第8章 二叉樹
第9章 回溯算法
第10章 貪心算法
第11章 動態規則
本書歸納了程序員面試中的經典算法題,並按照由淺入深、循序漸進的順序講解。 本書首先講解程序員面試時需要了解的制作簡歷的技巧和IT名企的面試流程,以及面試時經常忽略的代碼規範性問題。然後詳細分析程序的時間復雜度和空間復雜庫,包括如何把控程序的實際運行時間,以及編程語言的內存管理。接著講解數組、鏈表、哈希表、字符串、棧與隊列、二叉樹、回溯算法、貪心算法、動態規劃的理論基礎及其相關題目。 本書采用了力扣(LeetCode)的原題,方便讀者在學習算法的同時,及時練習相關代碼,加深對相關概念的理解。本書適合所有程序員閱讀,特別是正在準備面試的程序員。希望本書可以幫助讀者循序漸進地學習算法,並搭建起知識框架,提升算法功力。