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

數據結構與演算法(Python語言版)/清華開發者學堂

  • 作者:編者:侯鳳貞//胡建華//潘蕾|責編:張玥//薛陽
  • 出版社:清華大學
  • ISBN:9787302688792
  • 出版日期:2025/05/01
  • 裝幀:平裝
  • 頁數:284
人民幣:RMB 59.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書共分為9章,旨在為讀者提供數據結構與演算法的基礎知識。第1章介紹了數據結構與演算法的基本概念。第2章概述了Python編程的基礎知識,確保讀者具備使用Python語言進行編程的能力。本書的亮點集中在第3?9章,分別詳細講述了線性表、字元串、棧和隊列、二叉樹和樹、圖等核心數據結構,以及遞歸演算法、二分查找和經典排序演算法等。書中不僅解釋了這些數據結構和演算法的基本概念和特性,還通過Python代碼示例演示了它們的具體實現。此外,書中還使用了大量的圖示來輔助讀者理解複雜的演算法邏輯,並結合精選自力扣(LeetCode)平台的經典演算法題目,幫助讀者加深對知識點的理解和應用。
    本書實用性強,易於理解,既可作為高等院校數據科學、人工智慧等相關專業的教材,也適合自學使用。

作者介紹
編者:侯鳳貞//胡建華//潘蕾|責編:張玥//薛陽

目錄
第1章  緒論
  1.1  演算法
    1.1.1  演算法的基本概念
    1.1.2  演算法的表示
    1.1.3  演算法的設計
  1.2  演算法的分析評價
    1.2.1  時間複雜度分析
    1.2.2  時間複雜度分析舉例
    1.2.3  空間複雜度分析
  1.3  數據結構
    1.3.1  數據與數據結構定義
    1.3.2  數據類型與數據抽象
    1.3.3  抽象數據類型
    1.3.4  數據結構和演算法的關係
  小結
  習題
第2章  Python編程基礎
  2.1  Python數據類型
    2.1.1  常用數據類型
    2.1.2  變數、運算符和表達式
    2.1.3  內置數據類型的常見運算和操作
  2.2  Python控制結構
    2.2.1  順序結構
    2.2.2  選擇結構
    2.2.3  循環結構
  2.3  Python函數
    2.3.1  函數概述
    2.3.2  函數的聲明和調用
    2.3.3  參數傳遞
    2.3.4  函數的返回值
    2.3.5  變數的作用域
    2.3.6  函數式編程
  2.4  Python面向對象編程
    2.4.1  面向對象程序設計
    2.4.2  類的定義和實例化
    2.4.3  屬性
    2.4.4  方法
    2.4.5  類的繼承
    2.4.6  類的特殊方法
    2.4.7  對象的引用、淺拷貝和深拷貝
  2.5  抽象數據類型面向對象實現
    2.5.1  抽象數據類型和面向對象方法
    2.5.2  有理數的抽象數據類型表示
    2.5.3  有理數抽象數據類型的Python語言實現
  小結
  習題
第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.3.4  單鏈表例題
  3.4  鏈表的變形與操作
    3.4.1  帶尾結點引用的單鏈表
    3.4.2  循環單鏈表
    3.4.3  雙向鏈表
    3.4.4  不同結構鏈表總結
  3.5  有序表及其應用
    3.5.1  有序表的定義
    3.5.2  有序表例題
  小結
  習題
第4章  字元串
  4.1  字元串的概念
    4.1.1  基本術語和概念
    4.1.2  串的基本操作
    4.1.3  Python中的字元串
    4.1.4  基本串操作例題
  4.2  字元串匹配演算法
    4.2.1  字元串匹配
    4.2.2  樸素的串匹配演算法
    4.2.3  無回溯串匹配演算法(KMP演算法)
    4.2.4  串模式匹配例題
  小結
  習題
第5章  棧和隊列
  5.1  棧的概念與實現
    5.1.1  棧的結構和操作特點
    5.1.2  棧的表示和實現
  5.2  棧的應用舉例
    5.2.1  括弧匹配問題
    5.2.2  后綴表達式求值
    5.2.3  從中綴表達式到后綴表達式的轉換
  5.3  隊列的概念與實現
    5.3.1  隊列的結構特點與操作
    5.3.2  隊列的表示和實現
  5.4  雙端隊列
  小結
  習題
第6章  遞歸
  6.1  遞歸的定義
    6.1.1  基本概念

    6.1.2  簡單遞歸操作例題
    6.1.3  漢諾塔問題
  6.2  遞歸的可視化
    6.2.1  遞歸執行過程
    6.2.2  遞歸過程可視化
    6.2.3  遞歸圖形化展示
  6.3  回溯法
    6.3.1  回溯的概念
    6.3.2  組合問題
    6.3.3  回溯法例題
  6.4  動態規劃初步
    6.4.1  動態規劃的概念
    6.4.2  動態規劃的應用
    6.4.3  動態規劃例題
  小結
  習題
第7章  二叉樹和樹
  7.1  樹狀結構基本概念
    7.1.1  樹的定義和基本術語
    7.1.2  樹狀結構的描述
    7.1.3  二叉樹的概念
    7.1.4  二叉樹的性質
  7.2  二叉樹的存儲
    7.2.1  二叉樹的順序存儲
    7.2.2  二叉樹的鏈式存儲
  7.3  二叉樹的遍歷及其實現
    7.3.1  二叉樹按層次遍歷的實現
    7.3.2  二叉樹深度優先遍歷的遞歸實現
    7.3.3  二叉樹深度優先遍歷的非遞歸實現
  7.4  二叉樹遍歷演算法的應用
  7.5  優先隊列與堆
    7.5.1  優先隊列的概念及應用
    7.5.2  堆的概念及實現
  7.6  哈夫曼樹
    7.6.1  基本概念
    7.6.2  Huffman樹的構造
    7.6.3  最優前綴編碼
  7.7  樹和森林的存儲和遍歷
    7.7.1  樹和森林的遍歷
    7.7.2  樹的存儲表示
    7.7.3  樹的遍歷演算法實現
  小結
  習題
第8章  圖及其演算法
  8.1  圖的概念
    8.1.1  基本術語和概念
    8.1.2  其他術語和概念
  8.2  圖的表示與實現
    8.2.1  鄰接矩陣
    8.2.2  鄰接表

    8.2.3  圖表示的Python實現
  8.3  圖的遍歷及其應用
    8.3.1  深度優先遍歷圖
    8.3.2  廣度優先遍歷圖
    8.3.3  圖遍歷演算法的簡單應用
    8.3.4  圖遍歷演算法的高階應用
  8.4  拓撲排序
  8.5  並查集
  8.6  連通網的最小生成樹
  8.7  最短路徑問題
    8.7.1  單源最短路徑的Dijkstra演算法
    8.7.2  求解任意頂點間最短路徑的Floyd演算法
  小結
  習題
第9章  排序和查找
  9.1  查找
    9.1.1  基本術語和概念
    9.1.2  順序查找
   &