庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
   
二樓書籍分類
 
從零搞懂演算法:12種演算法 + 6種資料結構,超圖解入門

從零搞懂演算法:12種演算法

沒有庫存
訂購需時10-14天
9786263339484
Sam T.
博碩
2024年9月10日
250.00  元
HK$ 212.5  






ISBN:9786263339484
  • 規格:平裝 / 336頁 / 17 x 23 x 1.97 cm / 普通級 / 全彩印刷 / 初版
  • 出版地:台灣


  • 電腦資訊 > 程式設計 > 資料結構/演算法

















      「演算法」與「資料結構」到底是什麼?



      「演算法」其實是一套「使用資料的策略」,而「資料結構」則是將資料整理成特定格式,讓你擁有更多使用資料的策略。掌握演算法是成為軟體工程師的必經之路,不僅在工作上能提升開發系統的效能,更是面試時必備的技能之一,可以說學習演算法的 CP 值實在高到不行!



      ▌你將能了解到

      ? 海外大廠面試白板題解析

      ? 海外求職經驗分享

      ? 五大演算法策略:貪婪法、枚舉法、回溯法、分支界線法、分制法

      ? 三大排序演算法:氣泡排序、插入排序、選擇排序

      ? 資料結構:Stack & Queue

      ? 資料結構:Array & Linked List

      ? 演算法策略:深度優先(DFS) vs 廣度優先(BFS)

      ? 演算法效能:時間複雜度(Big O)

      ? 演算法實作:迴圈(Loop) vs 遞迴(Recursion)



    本書特色



      ? 初學者友善,從0到1,無痛入門

      ? 提供完成程式碼,輕鬆接觸演算法

      ? LeetCode實戰教學,工作面試超加分

      ? 分享「演算法」於職場上的價值與意義

    ?


     





    | CHAPTER 00 | 為什麼要學演算法

    0-1 軟體職涯談:演算法在工作上真的用得到嗎?

    0-1-1 軟體界的必要之惡:面試白板題

    0-1-2 工作中的演算法長這樣

    0-1-3 面試中的演算法長這樣

    0-2 軟體職涯談:避開冤枉路,演算法其實該這樣學

    0-2-1 第一步:「演算法」與「資料結構」的定義與關係

    0-2-2 第二步:什麼是「好」的演算法?

    0-2-3 第三步:Array & List 入門資料結構

    0-2-4 第四步:DFS & BFS 兩大演算法策略

    0-2-5 第五步:3 大排序演算法(Bubble、Insertion、Selection)

    0-2-6 第六步:Stack & Queue 進階資料結構

    0-2-7 第七步:5 大演算法策略



    | CHAPTER 01 | 打開演算法的大門

    1-1 一次搞懂「資料結構」與「演算法」到底是什麼

    1-1-1 前言

    1-1-2 什麼是「原始資料」

    1-1-3 什麼是「資料結構」

    1-1-4 原始資料→特定資料結構I:改變觀點

    1-1-5 原始資料→特定資料結構II:資料排序

    1-1-6 什麼是「演算法」

    1-1-7 演算法、資料結構與資料的三角關係

    1-1-8 實際案例I:二元樹

    1-1-9 實際案例II:二元搜尋樹

    1-1-10 實際案例III:二元堆積樹

    1-1-11 小結

    1-2 演算法的品質:什麼才是「好」的演算法

    1-2-1 前言

    1-2-2 Big O的介紹與計算

    1-2-3 Big O成本類別:no

    1-2-4 Big O成本類別:log(n)

    1-2-5 Big O成本類別:n

    1-2-6 Big O成本類別:n log(n)

    1-2-7 Big O成本類別:n2

    1-2-8 Big O成本類別:2n

    1-2-9 Big O成本類別:n!

    1-2-10 小結

    1-3 演算法的基底結構:陣列(Array)vs鏈結串列(Linked List)

    1-3-1 前言

    1-3-2 陣列(Array)介紹

    1-3-3 陣列搜尋I:By Value

    1-3-4 陣列搜尋II:By Index

    1-3-5 陣列新增I:By Value

    1-3-6 陣列新增II:By Index

    1-3-7 陣列新增III:共同問題

    1-3-8 陣列刪除I:By Value

    1-3-9 陣列刪除II:By Index

    1-3-10 陣列(Array)小結

    1-3-11 鏈結串列(Linked List)介紹

    1-3-12 鏈結串列搜尋I:By Value

    1-3-13 鏈結串列新增I:By Value

    1-3-14 鏈結串列刪除I:By Value

    1-3-15 鏈結串列(Linked List)小結

    1-3-16 陣列(Array)使用時機

    1-3-17 鏈結串列(Linked List)使用時機

    1-3-18 小結

    1-4 演算法的實作風格I:迴圈(loop)x吃角子老虎

    1-4-1 前言

    1-4-2 迴圈實作I:for loop

    1-4-3 迴圈實作II:while loop

    1-4-4 小結

    1-5 演算法的實作風格II:遞迴(recursion)x老和尚說故事

    1-5-1 前言

    1-5-2 遞迴觀念:老和尚說故事

    1-5-3 遞迴實作:費氏數列(Fibonacci)

    1-5-4 小結

    1-6 演算法的基底策略:衝到底(DFS)vs平均走(BFS)

    1-6-1 前言

    1-6-2 登山客問題:DFS走到底運用

    1-6-3 登山客問題:BFS平均走運用

    1-6-4 登山客問題:小結

    1-6-5 導遊的路線規劃:BFS平均走運用

    1-6-6 導遊的路線規劃:小結

    1-7 演算法好兄弟:衝到底(DFS)+遞迴(Recursion)

    1-7-1 前言

    1-7-2 DFS與遞迴的關聯介紹:單一分支

    1-7-3 DFS與遞迴的關聯介紹:多個分支

    1-7-4 DFS運用:找到第一顆橘子

    1-7-5 小結

    1-8 演算法好姐妹:公平走(BFS)+迴圈(Loop)

    1-8-1 前言

    1-8-2 BFS與迴圈的關聯介紹:最短路徑

    1-8-3 小結



    | CHAPTER 02 | 初出茅廬,小試身手:「三大排序演算法」

    2-1 氣泡排序(Bubble Sort)

    2-1-1 前言

    2-1-2 情境:大隊接力棒次安排

    2-1-3 Bubble Sort演算法:第一輪排序

    2-1-4 Bubble Sort演算法:第二輪排序

    2-1-5 Bubble Sort演算法:第三輪排序

    2-1-6 Bubble Sort演算法:第四輪排序

    2-1-7 Bubble Sort演算法:第五輪排序

    2-1-8 小結

    2-2 插入排序(Insertion Sort)

    2-2-1 前言

    2-2-2 Insertion Sort演算法:第一輪排序

    2-2-3 Insertion Sort演算法:第二輪排序

    2-2-4 Insertion Sort演算法:第三輪排序

    2-2-5 Insertion Sort演算法:第四輪排序

    2-2-6 Insertion Sort演算法:第五輪排序

    2-2-7 小結

    2-3 選擇排序(Selection Sort)

    2-3-1 前言

    2-3-2 Selection Sort演算法:第一輪排序

    2-3-3 Selection Sort演算法:第二輪排序

    2-3-4 Selection Sort演算法:第三輪排序

    2-3-5 Selection Sort演算法:第四輪排序

    2-3-6 Selection Sort演算法:第五輪排序

    2-3-7 小結



    | CHAPTER 03 | 掌櫃的,來一碗資料結構!

    3-1 Stack(LIFO):吃洋芋片也能學資料結構!?Σ( ??? )

    3-1-1 前言

    3-1-2 情境:生活中的洋芋片

    3-1-3 Stack的實現:陣列(Array)

    3-1-4 Stack常見運用場景I:河內塔

    3-1-5 Stack常見運用場景II:簡易遞迴

    3-1-6 Stack常見運用場景III:進階遞迴

    3-1-7 小結

    3-2 Queue(FIFO):排隊買票看電影

    3-2-1 前言

    3-2-2 情境:排隊看電影

    3-2-3 Queue的實現I:陣列(Array)

    3-2-4 Queue的實現II:環形陣列(Circular Queue)

    3-2-5 小結

    3-3 Priority Queue:排隊上廁所,憋不住啦!???

    3-3-1 前言

    3-3-2 情境:實驗室燒瓶的最大值

    3-3-3 小結



    | CHAPTER 04 | 扎根腳步:五大演算法策略

    4-1 貪婪法(Greedy):自信心爆棚,找零錢

    4-1-1 前言

    4-1-2 貪婪法的意外狀況

    4-1-3 貪婪法的成功條件

    4-1-4 小結

    4-2 貪婪法(Greedy):自信心爆棚,走迷宮

    4-2-1 前言

    4-2-2 走出迷宮:找出最小路徑成本

    4-2-3 小結

    4-3 枚舉法(Enumeration):我不聰明,但我很實在

    4-3-1 前言

    4-3-2 全球航班規劃:找尋合格解與最佳解

    4-3-3 小結

    4-4 回溯法(Backtracking):菜市場挑橘子,找出合格解們

    4-4-1 前言

    4-4-2 全球航班規劃:找尋合格解

    4-4-3 小結

    4-5 分枝界限法(Branch and Bound):丈母娘選婿,挑出最佳解

    4-5-1 前言

    4-5-2 全球航班規劃:找尋最佳解

    4-5-3 小結

    4-6 暴力解策略:枚舉法 vs 回溯法 vs 分枝界限法

    4-6-1 前言

    4-6-2 枚舉法(Enumeration)的使用時機

    4-6-3 回溯法(Backtracking)的使用時機

    4-6-4 分支界限法(Branch and Bound)的使用時機

    4-6-5 小結

    4-7 分治法(Divide & Conquer):大事化小,小事化無

    4-7-1 前言

    4-7-2 分治演算法I:Decrease and Conquer

    4-7-3 分治演算法II:Divide and Conquer

    4-7-4 小結

    4-8 分治法(Divide & Conquer):河內塔經典題

    4-8-1 前言

    4-8-2 河內塔(Hanoi Tower)介紹

    4-8-3 河內塔:基底問題(Base Case)定義

    4-8-4 河內塔:子問題(Sub-Problem)定義

    4-8-5 河內塔:分治法的拆解模式

    4-8-6 小結

    4-9 分治法(Divide & Conquer):河內塔(Hanoi Tower)程式碼實作

    4-9-1 前言

    4-9-2 河內塔實作I:狀態初始化

    4-9-3 河內塔實作II:遞迴方法實作

    4-9-4 河內塔實作III:基底問題(Base Case)定義

    4-9-5 河內塔實作IV:程式執行和結果驗證

    4-9-6 小結

    4-9-7 完整程式碼



    | CHAPTER 05 | 實戰篇 面試白板題:媽,我錄取了!

    5-1 Apple白板題:Linked List &後序遍歷 觀念運用

    5-1-1 前言

    5-1-2 題目介紹

    5-1-3 解題思路一:使用「Stack」的可能性

    5-1-4 解題思路二:使用「遞迴」的可能性

    5-1-5 解題實作I:遞迴方法→顛倒數字

    5-1-6 解題實作II:顛倒數字→Linked List

    5-1-7 進階解題技巧:使用字串代表數字

    5-1-8 小結

    5-1-9 完整程式碼

    5-2 Microsoft白板題:Stack &遞迴 觀念運用

    5-2-1 前言

    5-2-2 題目介紹

    5-2-3 解題思路一:中間切一刀,左右擴展走

    5-2-4 解題思路二:由左而右,由右而左

    5-2-5 解題方案一:Stack「後進先出」

    5-2-6 Stack解法:時間複雜度分析

    5-2-7 Stack解法:空間複雜度分析

    5-2-8 解題方案二:遞迴方法替代Stack結構

    5-2-9 小結

    5-2-10 完整程式碼

    5-3 Google白板題:Tree階層&遞迴 觀念運用

    5-3-1 前言

    5-3-2 題目介紹

    5-3-3 解題思路:樹狀遍歷,4大方向分支

    5-3-4 解題實作I:遍歷島嶼地圖

    5-3-5 解題實作II:島嶼面積計算的遞迴方法

    5-3-6 小結

    5-3-7 完整程式碼

    5-4 海外求職經驗分享:演算法如何幫我拿到大廠公司錄取通知

    5-4-1 「美國矽谷」Google面試流程解密

    5-4-2 拿到面試的4大管道:主動出擊,創造機會

    5-4-3 少量刷題→大量offer:精準練習才是王道

    5-4-4 3家面試x 3份offer:100%錄取率



    作者的話 & Whats Next?




    其 他 著 作
    1. 從零搞懂演算法:12種演算法 + 6種資料結構,超圖解入門
    2. 從零搞懂演算法:12種演算法 + 6種資料結構,超圖解入門
    3. K8S自學聖經:10大核心模板快速入門【圖解教學】
    4. AWS自學聖經:5大必學雲端主題?超圖解入門(全彩印刷) (第二版)
    5. AWS自學聖經:5大必學雲端主題?超圖解入門(全彩印刷)
    6. 創造性藝術治療
    7. Combined Treatments for Mental Disorders: A Guide to Psychological and Pharmacological Interventio