幫助中心 | 我的帳號 | 關於我們

漫畫演算法(小灰的演算法之旅)

  • 作者:魏夢舒
  • 出版社:電子工業
  • ISBN:9787121361975
  • 出版日期:2019/05/01
  • 裝幀:平裝
  • 頁數:269
人民幣:RMB 79 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書通過主人公小灰的心路歷程,用漫畫的形式講述了演算法和數據結構的基礎知識,複雜多變的演算法面試題目及演算法的實際應用場景。
    第1章介紹了演算法和數據結構的總體概念,告訴大家演算法是什麼,數據結構又是什麼,都有哪些用途,如何分析時間複雜度,如何分析空間複雜度。
    第2章介紹了最基本的數據結構,包括數組、鏈表、棧、隊列、哈希表的概念和讀寫操作。
    第3章介紹了樹和二叉樹的概念、二叉樹的各種遍歷方式、二叉樹的特殊形式二叉堆和優先隊列的應用。
    第4章介紹了幾種典型的排序演算法,包括冒泡排序、快速排序、堆排序、計數排序、桶排序。
    第5章介紹了十余種職場上流行的演算法面試題目及詳細的解題思路。例如怎樣判斷鏈表有環、怎樣計算大整數加法等。
    第6章介紹了演算法在職場上的一些應用,例如使用LRU演算法來淘汰冷數據,使用Bitmap演算法來統計用戶特徵等。

作者介紹
魏夢舒
    魏夢舒(@程序員小灰),微信公眾號「程序員小灰」的作者,具有多年軟體行業從業經驗,先後在京東金融、摩拜科技從事研發工作,對演算法有一定的興趣和經驗。

目錄
第1章  演算法概述
  1.1  演算法和數據結構
    1.1.1  小灰和大黃
    1.1.2  什麼是演算法
    1.1.3  什麼是數據結構
  1.2  時間複雜度
    1.2.1  演算法的好與壞
    1.2.2  基本操作執行次數
    1.2.3  漸進時間複雜度
    1.2.4  時間複雜度的巨大差異
  1.3  空間複雜度
    1.3.1  什麼是空間複雜度
    1.3.2  空間複雜度的計算
    1.3.3  時間與空間的取捨
  1.4  小結
第2章  數據結構基礎
  2.1  什麼是數組
    2.1.1  初識數組
    2.1.2  數組的基本操作
    2.1.3  數組的優勢和劣勢
  2.2  什麼是鏈表
    2.2.1  「正規軍」和「地下黨」
    2.2.2  鏈表的基本操作
  2.3  棧和隊列
    2.3.1  物理結構和邏輯結構
    2.3.2  什麼是棧
    2.3.3  棧的基本操作
    2.3.4  什麼是隊列
    2.3.5  隊列的基本操作
    2.3.6  棧和隊列的應用
  2.4  神奇的散列表
    2.4.1  為什麼需要散列表
    2.4.2  哈希函數
    2.4.3  散列表的讀寫操作
  2.5  小結
第3章  樹
  3.1  樹和二叉樹
    3.1.1  什麼是樹
    3.1.2  什麼是二叉樹
    3.1.3  二叉樹的應用
  3.2  二叉樹的遍歷
    3.2.1  為什麼要研究遍歷
    3.2.2  深度優先遍歷
    3.2.3  廣度優先遍歷
  3.3  什麼是二叉堆
    3.3.1  初識二叉堆
    3.3.2  二叉堆的自我調整
    3.3.3  二叉堆的代碼實現
  3.4  什麼是優先隊列
    3.4.1  優先隊列的特點

    3.4.2  優先隊列的實現
  3.5  小結
第4章  排序演算法
  4.1  引言
  4.2  什麼是冒泡排序
    4.2.1  初識冒泡排序
    4.2.2  冒泡排序的優化
    4.2.3  雞尾酒排序
  4.3  什麼是快速排序
    4.3.1  初識快速排序
    4.3.2  基準元素的選擇
    4.3.3  元素的交換
    4.3.4  單邊循環法
    4.3.5  非遞歸實現
  4.4  什麼是堆排序
    4.4.1  傳說中的堆排序
    4.4.2  堆排序的代碼實現
  4.5  計數排序和桶排序
    4.5.1  線性時間的排序
    4.5.2  初識計數排序
    4.5.3  計數排序的優化
    4.5.4  什麼是桶排序
  4.6  小結
第5章  面試中的演算法
  5.1  躊躇滿志的小灰
  5.2  如何判斷鏈表有環
    5.2.1  一場與鏈表相關的面試
    5.2.2  解題思路
    5.2.3  問題擴展
  5.3  最小棧的實現
    5.3.1  一場關於棧的面試
    5.3.2  解題思路
  5.4  如何求出最大公約數
    5.4.1  一場求最大公約數的面試
    5.4.2  解題思路
  5.5  如何判斷一個數是否為2的整數次冪
    5.5.1  一場很「2」的面試
    5.5.2  解題思路
  5.6  無序數組排序后的最大相鄰差
    5.6.1  一道奇葩的面試題
    5.6.2  解題思路
  5.7  如何用棧實現隊列
    5.7.1  又是一道關於棧的面試題
    5.7.2  解題思路
  5.8  尋找全排列的下一個數
    5.8.1  一道關於數字的題目
    5.8.2  解題思路
  5.9  刪去k個數字后的最小值
    5.9.1  又是一道關於數字的題目
    5.9.2  解題思路

  5.10  如何實現大整數相加
    5.10.1  加法,你會不會
    5.10.2  解題思路
  5.11  如何求解金礦問題
    5.11.1  一個關於財富自由的問題
    5.11.2  解題思路
  5.12  尋找缺失的整數
    5.12.1  「五行」缺一個整數
    5.12.2  問題擴展
第6章  演算法的實際應用
  6.1  小灰上班的第1天
  6.2  Bitmap的巧用
    6.2.1  一個關於用戶標籤的需求
    6.2.2  用演算法解決問題
  6.3  LRU演算法的應用
    6.3.1  一個關於用戶信息的需求
    6.3.2  用演算法解決問題
  6.4  什麼是A星尋路演算法
    6.4.1  一個關於迷宮尋路的需求
    6.4.2  用演算法解決問題
  6.5  如何實現紅包演算法
    6.5.1  一個關於錢的需求
    6.5.2  用演算法解決問題
  6.6  演算法之路無止境

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032