圖解資料結構 × 演算法:運用 Python

胡昭民

  • 圖解資料結構 × 演算法:運用 Python-preview-1
  • 圖解資料結構 × 演算法:運用 Python-preview-2
  • 圖解資料結構 × 演算法:運用 Python-preview-3
  • 圖解資料結構 × 演算法:運用 Python-preview-4
  • 圖解資料結構 × 演算法:運用 Python-preview-5
  • 圖解資料結構 × 演算法:運用 Python-preview-6
  • 圖解資料結構 × 演算法:運用 Python-preview-7
  • 圖解資料結構 × 演算法:運用 Python-preview-8
  • 圖解資料結構 × 演算法:運用 Python-preview-9
  • 圖解資料結構 × 演算法:運用 Python-preview-10
  • 圖解資料結構 × 演算法:運用 Python-preview-11
  • 圖解資料結構 × 演算法:運用 Python-preview-12
  • 圖解資料結構 × 演算法:運用 Python-preview-13
  • 圖解資料結構 × 演算法:運用 Python-preview-14
  • 圖解資料結構 × 演算法:運用 Python-preview-15
  • 圖解資料結構 × 演算法:運用 Python-preview-16
  • 圖解資料結構 × 演算法:運用 Python-preview-17
圖解資料結構 × 演算法:運用 Python-preview-1

買這商品的人也買了...

商品描述

  • 本書是一本以 Python 程式語言實作來解說資料結構概念的重要著作。為了方便學習,書中都是完整的程式碼,可以避免片斷學習程式的困擾。內容編排上將較為複雜的理論以圖文並茂的方式解說,並將這些資料結構理論以最簡單的方式表達,加以詮釋。從最基本的資料結構概念開始說明,再以 Python 語言加以詮釋陣列結構、堆疊、鏈結串列、佇列、樹狀、圖形、排序、搜尋等重要觀念。最後在附錄中整理了資料結構相關的專有名詞,並加入一些重要演算好的介紹與實作。

    【本書特色】
    ※內容架構完整,邏輯清楚,採用豐富的圖例來闡述基本觀念及應用,有效提高可讀性。
    ※以 Python 語言實作資料結構中的重要理論,以範例程式說明資料結構的內涵。
    ※強調邊作邊學:提供書中範例完整程式檔,給予最完整的支援,加深學習記憶。
    ※驗收學習成果:參閱國家考試題型,設計難易適中的習題,提供進一步演練。

    【重點主題】
    ◆ 資料結構入門與演算法
    ◆ 陣列結構 / 串列結構
    ◆ 堆疊 / 佇列
    ◆ 樹狀結構 / 圖形結構
    ◆ 排序演算法
    ◆ 搜尋演算法與雜湊函數
    ◆ 資料結構專有名詞

目錄大綱

  • Chapter 1 資料結構與演算法入門
    1-1 資料結構的定義
      1-1-1 資料與資訊
      1-1-2 資料的特性
      1-1-3 資料結構的應用
    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 Big-oh
      1-4-2 Ω(omega)
      1-4-3 θ(theta)

    Chapter 2 陣列結構
    2-1 線性串列簡介
      2-1-1 儲存結構簡介
    2-2 認識陣列
      2-2-1 二維陣列
      2-2-2 三維陣列
      2-2-3 n維陣列
    2-3 矩陣
      2-3-1 矩陣相加
      2-3-2 矩陣相乘
      2-3-3 轉置矩陣
      2-3-4 稀疏矩陣
      2-3-5 上三角形矩陣
      2-3-6 下三角形矩陣
      2-3-7 帶狀矩陣
    2-4 陣列與多項式
      2-4-1 認識多項式

    Chapter 3 串列結構
    3-1 單向串列
      3-1-1 建立單向串列
      3-1-2 走訪單向串列
      3-1-3 單向串列插入新節點
      3-1-4 單向串列刪除節點
      3-1-5 單向串列的反轉
      3-1-6 單向串列的連結功能
      3-1-7 多項式串列表示法
    3-2 環狀串列
      3-2-1 環狀串列的建立與走訪
      3-2-2 環狀串列插入新節點
      3-2-3 環狀串列刪除節點
      3-2-4 環狀串列的連結
      3-2-5 環狀串列與稀疏矩陣表示法
    3-3 雙向串列
      3-3-1 雙向串列建立與走訪
      3-3-2 雙向串列加入新節點
      3-3-3 雙向串列刪除節點

    Chapter 4 堆疊
    4-1 堆疊簡介
      4-1-1 陣列實作堆疊
      4-1-2 串列實作堆疊
    4-2 堆疊的應用
      4-2-1 遞迴演算法
      4-2-2 動態規劃演算法
      4-2-3 河內塔問題
      4-2-4 回溯法-老鼠走迷宮
      4-2-5 八皇后問題
    4-3 算術運算式的表示法
      4-3-1 中序轉為前序與後序
      4-3-2 前序與後序轉為中序
      4-3-3 中序表示法求值
      4-3-4 前序法的求值運算
      4-3-5 後序法的求值運算

    Chapter 5 佇列
    5-1 認識佇列
      5-1-1 佇列的工作運算
      5-1-2 佇列的應用
      5-1-3 陣列實作佇列
      5-1-4 串列實作佇列
    5-2 環狀佇列、雙向佇列與優先佇列
      5-2-1 環狀佇列
      5-2-2 雙向佇列
      5-2-3 優先佇列

    Chapter 6 樹狀結構
    6-1 樹的基本觀念
      6-1-1 樹專有名詞簡介
    6-2 二元樹簡介
      6-2-1 二元樹的定義
      6-2-2 特殊二元樹簡介
    6-3 二元樹的儲存方式
      6-3-1 一維陣列表示法
      6-3-2 串列表示法
    6-4 二元樹走訪
      6-4-1 中序走訪
      6-4-2 後序走訪
      6-4-3 前序走訪
      6-4-4 二元樹節點的插入與刪除
      6-4-5 二元運算樹
    6-5 引線二元樹
      6-5-1 二元樹轉為引線二元樹
    6-6 樹的二元樹表示法
      6-6-1 樹化為二元樹
      6-6-2 二元樹轉換成樹
      6-6-3 樹林化為二元樹
      6-6-4 二元樹轉換成樹林
      6-6-5 樹與樹林的走訪
      6-6-6 決定唯一二元樹
    6-7 最佳化二元搜尋樹
      6-7-1 延伸二元樹
      6-7-2 霍夫曼樹
    6-8 平衡樹
      6-8-1 平衡樹的定義
    6-9 進階樹狀結構的應用
      6-9-1 決策樹
      6-9-2 B樹
      6-9-3 二元空間分割樹(BSP)
      6-9-4 四元樹 / 八元樹

    Chapter 7 圖形結構
    7-1 圖形簡介
      7-1-1 尤拉環與尤拉鏈
      7-1-2 圖形的定義
      7-1-3 無向圖形
      7-1-4 有向圖形
    7-2 圖形的資料表示法
      7-2-1 相鄰矩陣法
      7-2-2 相鄰串列法
      7-2-3 相鄰複合串列法
      7-2-4 索引表格法
    7-3 圖形的走訪
      7-3-1 先深後廣法
      7-3-2 先廣後深搜尋法
    7-4 擴張樹
      7-4-1 DFS擴張樹及BFS擴張樹
      7-4-2 最小花費擴張樹
      7-4-3 Kruskal演算法
      7-4-4 Prim演算法
    7-5 圖形最短路徑
      7-5-1 單點對全部頂點
      7-5-2 兩兩頂點間的最短路徑
      7-5-3 A* 演算法
    7-6 AOV網路與拓樸排序
      7-6-1 拓樸序列簡介
    7-7 AOE網路
      7-7-1 臨界路徑

    Chapter 8 排序演算法
    8-1 認識排序
      8-1-1 排序的分類
      8-1-2 排序演算法分析
    8-2 內部排序法
      8-2-1 氣泡排序法
      8-2-2 雞尾酒排序法
      8-2-3 選擇排序法
      8-2-4 插入排序法
      8-2-5 謝耳排序法
      8-2-6 合併排序法
      8-2-7 快速排序法
      8-2-8 堆積排序法
      8-2-9 基數排序法

    Chapter 9 搜尋演算法與雜湊函數
    9-1 常見搜尋演算法
      9-1-1 循序搜尋法
      9-1-2 二分搜尋法
      9-1-3 內插搜尋法
      9-1-4 費氏搜尋法
    9-2 雜湊搜尋法
      9-2-1 雜湊法簡介
    9-3 常用的雜湊函數
      9-3-1 除法
      9-3-2 中間平方法
      9-3-3 折疊法
      9-3-4 數位分析法
    9-4 碰撞與溢位問題的處理
      9-4-1 線性探測法
      9-4-2 平方探測法
      9-4-3 再雜湊法
      9-4-4 鏈結串列法

    附錄A 資料結構專有名詞索引