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

數據結構教程(Python語言描述高等學校數據結構課程系列教材)

  • 作者:編者:李春葆|責編:王冰飛
  • 出版社:清華大學
  • ISBN:9787302560289
  • 出版日期:2020/11/01
  • 裝幀:平裝
  • 頁數:396
人民幣:RMB 69.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書系統地介紹了各種常用的數據結構以及查找和排序的各種演算法,闡述了各種數據結構的邏輯關係、存儲表示及基本運算,並採用Python語言描述數據組織和演算法實現,所有演算法的程序均在Python 3.7中調試通過。
    全書既注重原理又注重實踐,配有大量圖表和示例,內容豐富,概念講解清楚,表達嚴謹,邏輯性強,語言精練,可讀性好。書中提供了豐富的練習題、實驗題和在線編程題,配套的《數據結構教程(Python語言描述)學習與上機實驗指導》詳細地給出了本書練習題的解題思路和參考答案、在線編程題代碼和實驗報告格式示例。
    本書內容的廣度和深度符合本科生培養目標的要求,配套教學資源豐富。相關知識點及在線編程題都提供了詳細的視頻講解。
    本書可作為普通高等學校電腦及相關專業本科的數據結構課程教材,也可作為從事電腦軟體開發和工程應用人員的參考書。

作者介紹
編者:李春葆|責編:王冰飛
    李春葆,武漢大學電腦學院教授。主要研究方向為數據挖掘和演算法設計,先後主持和參加多個大型研究項目。主要為本科生講授數據結構(15年以上)和軟體工程等課程,為研究生講授軟體開發新技術、數據倉庫與數據挖掘等課程,並出版十多部精品著作。

目錄
第1章  緒論
  1.1  什麼是數據結構
    1.1.1  數據結構的定義
    1.1.2  數據的邏輯結構
    1.1.3  數據的存儲結構
    1.1.4  數據的運算
    1.1.5  數據結構和數據類型
  1.2  演算法及其描述
    1.2.1  什麼是演算法
    1.2.2  演算法描述
  1.3  Python簡介
    1.3.1  Python的標準數據類型
    1.3.2  列表的複製
    1.3.3  輸入/輸出和文件操作
    1.3.4  Python程序設計
    1.3.5  Python中變數的作用域和垃圾回收
  1.4  演算法分析
    1.4.1  演算法的設計目標
    1.4.2  演算法的時間性能分析
    1.4.3  演算法的存儲空間分析
  1.5  數據結構的目標
  1.6  練習題
  1.7  上機實驗題
  1.8  LeetCode在線編程題
第2章  線性表
  2.1  線性表的定義
    2.1.1  什麼是線性表
    2.1.2  線性表的抽象數據類型描述
  2.2  線性表的順序存儲結構
    2.2.1  順序表
    2.2.2  線性表的基本運算演算法在順序表中的實現
    2.2.3  順序表的應用演算法設計示例
  2.3  線性表的鏈式存儲結構
    2.3.1  鏈表
    2.3.2  單鏈表
    2.3.3  單鏈表的應用演算法設計示例
    2.3.4  雙鏈表
    2.3.5  雙鏈表的應用演算法設計示例
    2.3.6  循環鏈表
  2.4  順序表和鏈表的比較
  2.5  線性表的應用——兩個多項式相加
    2.5.1  問題描述
    2.5.2  問題求解
  2.6  練習題
  2.7  上機實驗題
    2.7.1  基礎實驗題
    2.7.2  應用實驗題
  2.8  LeetCode在線編程題
第3章  棧和隊列
  3.1  棧

    3.1.1  棧的定義
    3.1.2  棧的順序存儲結構及其基本運算演算法的實現
    3.1.3  順序棧的應用演算法設計示例
    3.1.4  棧的鏈式存儲結構及其基本運算演算法的實現
    3.1.5  鏈棧的應用演算法設計示例
    3.1.6  棧的綜合應用
  3.2  隊列
    3.2.1  隊列的定義
    3.2.2  隊列的順序存儲結構及其基本運算演算法的實現
    3.2.3  循環隊列的應用演算法設計示例
    3.2.4  隊列的鏈式存儲結構及其基本運算演算法的實現
    3.2.5  鏈隊的應用演算法設計示例
    3.2.6  Python中的雙端隊列
    3.2.7  隊列的綜合應用
    3.2.8  優先隊列
  3.3  練習題
  3.4  上機實驗題
    3.4.1  基礎實驗題
    3.4.2  應用實驗題
  3.5  LeetCode在線編程題
第4章  串和數組
  4.1  串
    4.1.1  串的基本概念
    4.1.2  串的存儲結構
    4.1.3  串的模式匹配
  4.2  數組
    4.2.1  數組的基本概念
    4.2.2  特殊矩陣的壓縮存儲
    4.2.3  稀疏矩陣
  4.3  練習題
  4.4  上機實驗題
    4.4.1  基礎實驗題
    4.4.2  應用實驗題
  4.5  LeetCode在線編程題
第5章  遞歸
  5.1  什麼是遞歸
    5.1.1  遞歸的定義
    5.1.2  何時使用遞歸
    5.1.3  遞歸模型
    5.1.4  遞歸與數學歸納法
    5.1.5  遞歸的執行過程
    5.1.6  Python中遞歸函數的參數
    5.1.7  遞歸演算法的時空分析
  5.2  遞歸演算法的設計
    5.2.1  遞歸演算法設計的步驟
    5.2.2  基於遞歸數據結構的遞歸演算法設計
    5.2.3  基於歸納方法的遞歸演算法設計
  5.3  練習題
  5.4  上機實驗題
    5.4.1  基礎實驗題

    5.4.2  應用實驗題
  5.5  LeetCode在線編程題
第6章  樹和二叉樹
  6.1  樹
    6.1.1  樹的定義
    6.1.2  樹的邏輯結構表示方法
    6.1.3  樹的基本術語
    6.1.4  樹的性質
    6.1.5  樹的基本運算
    6.1.6  樹的存儲結構
  6.2  二叉樹
    6.2.1  二叉樹的概念
    6.2.2  二叉樹的性質
    6.2.3  二叉樹的存儲結構
    6.2.4  二叉樹的遞歸演算法設計
    6.2.5  二叉樹的基本運算演算法及其實現
  6.3  二叉樹的先序、中序和後序遍歷
    6.3.1  二叉樹遍歷的概念
    6.3.2  先序、中序和後序遍歷的遞歸演算法
    6.3.3  遞歸遍歷演算法的應用
  6.4  二叉樹的層次遍歷
    6.4.1  層次遍歷的過程
    6.4.2  層次遍歷演算法的設計
    6.4.3  層次遍歷演算法的應用
  6.5  二叉樹的構造
    6.5.1  由先序/中序序列或後序/中序序列構造二叉樹
    *6.5.2  序列化和反序列化
  6.6  線索二叉樹
    6.6.1  線索二叉樹的定義
    6.6.2  線索化二叉樹
    6.6.3  遍歷線索二叉樹
  6.7  哈夫曼樹
    6.7.1  哈夫曼樹的定義
    6.7.2  哈夫曼樹的構造演算法
    6.7.3  哈夫曼編碼
  6.8  二叉樹與樹、森林之間的轉換
    6.8.1  樹到二叉樹的轉換及還原
    6.8.2  森林到二叉樹的轉換及還原
  *6.9  並查集
    6.9.1  並查集的定義
    6.9.2  並查集的實現
  6.10  練習題
  6.11  上機實驗題
    6.11.1  基礎實驗題
    6.11.2  應用實驗題
  6.12  LeetCode在線編程題
第7章  圖
  7.1  圖的基本概念
    7.1.1  圖的定義
    7.1.2  圖的基本術語

  7.2  圖的存儲結構
    7.2.1  鄰接矩陣
    7.2.2  鄰接表
  7.3  圖的遍歷
    7.3.1  圖遍歷的概念
    7.3.2  深度優先遍歷
    7.3.3  廣度優先遍歷
    7.3.4  非連通圖的遍歷
  7.4  圖遍歷演算法的應用
    7.4.1  深度優先遍歷演算法的應用
    7.4.2  廣度優先遍歷演算法的應用
  7.5  生成樹和最小生成樹
    7.5.1  生成樹和最小生成樹的概念
    7.5.2  普里姆演算法
    7.5.3  克魯斯卡爾演算法
  7.6  最短路徑
    7.6.1  最短路徑的概念
    7.6.2  狄克斯特拉演算法
    7.6.3  弗洛伊德演算法
  7.7  拓撲排序
    7.7.1  什麼是拓撲排序
    7.7.2  拓撲排序演算法的設計
  7.8  AOE網和關鍵路徑
  7.9  練習題
  7.10  上機實驗題
    7.10.1  基礎實驗題
    7.10.2  應用實驗題
  7.11  LeetCode在線編程題
第8章  查找
  8.1  查找的基本概念
  8.2  線性表的查找
    8.2.1  順序查找
    8.2.2  折半查找
    8.2.3  索引存儲結構和分塊查找
  8.3  樹表的查找
    8.3.1  二叉排序樹
    8.3.2  平衡二叉樹
    8.3.3  B樹
    8.3.4  B+樹
  8.4  哈希表的查找
    8.4.1  哈希表的基本概念
    8.4.2  哈希函數的構造方法
    8.4.3  哈希衝突的解決方法
    8.4.4  哈希表的查找及性能分析
  8.5  練習題
  8.6  上機實驗題
    8.6.1  基礎實驗題
    8.6.2  應用實驗題
  8.7  LeetCode在線編程題
第9章  排序

  9.1  排序的基本概念
  9.2  插入排序
    9.2.1  直接插入排序
    9.2.2  折半插入排序
    9.2.3  希爾排序
  9.3  交換排序
    9.3.1  冒泡排序
    9.3.2  快速排序
  9.4  選擇排序
    9.4.1  簡單選擇排序
    9.4.2  堆排序
    9.4.3  堆數據結構
  9.5  歸併排序
    9.5.1  自底向上的二路歸併排序
    9.5.2  自頂向下的二路歸併排序
  9.6  基數排序
  9.7  各種內排序方法的比較和選擇
  9.8  外排序
    9.8.1  生成初始歸併段的方法
    9.8.2  多路歸併方法
  9.9  練習題
  9.10  上機實驗題
    9.10.1  基礎實驗題
    9.10.2  應用實驗題
  9.11  LeetCode在線編程題
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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