Python數據結構與算法從入門到精通

陳銳 黃萬偉 鄭倩

  • 出版商: 化學工業
  • 出版日期: 2025-02-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 367
  • ISBN: 7122466892
  • ISBN-13: 9787122466891
  • 下單後立即進貨 (約2週~3週)

相關主題

商品描述

本書全面系統地講解了使用Python語言實現數據結構和算法的基礎知識和實踐技能。全書分為14章,主要內容包括數據結構與算法概述、Python語言基礎、線性表、棧與遞歸、隊列、串、數組與廣義表、樹和二叉樹、圖、查找、排序、回溯算法、遞歸與分治算法等。 本書內容由淺入深,語言通俗易懂,理論結合實踐,採用大量豐富的案例,幫助讀者高效學習,且將知識更好地應用在實際學習和工作中。 本書可作為計算機、人工智能、大數據等行業相關技術人員的參考書,也可供高等院校計算機相關專業師生學習使用。

目錄大綱

第1章 數據結構概述
1.1 基本概念和術語
1.2 數據的邏輯結構與存儲結構
1.2.1 邏輯結構
1.2.2 存儲結構
1.3 抽象數據類型及其描述
1.3.1 什麽是抽象數據類型
1.3.2 抽象數據類型的描述
第2章 算法概述
2.1 算法的相關概念
2.1.1 數據結構與算法的關系
2.1.2 什麽是算法
2.1.3 算法的五大特性
2.1.4 算法的描述
2.2 算法分析
2.2.1 算法設計的4個目標
2.2.2 算法效率評價
2.2.3 算法的時間覆雜度
2.2.4 算法的空間覆雜度
第3章 數據結構與算法的語言基礎——Python語言
3.1 Python語言開發環境
3.2 Python基本語法及輸入輸出
3.2.1 基本語法
3.2.2 輸入與輸出
3.3 Python列表、元組、字典、集合
3.3.1 列表
3.3.2 元組
3.3.3 字典
3.3.4 集合
3.4 函數與類
3.4.1 函數
3.4.2 類
3.5 NumPy中的array
第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.4 循環單鏈表
4.4.1 循環單鏈表的鏈式存儲
4.4.2 循環單鏈表應用舉例
4.5 雙向鏈表
4.5.1 雙向鏈表的存儲結構
4.5.2 雙向鏈表的插入和刪除操作
4.6 綜合案例:一元多項式的表示與相乘
4.6.1 一元多項式的表示
4.6.2 一元多項式相乘
第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 算術表達式求值——計算機如何計算表達式的值
5.3 遞歸
5.3.1 遞歸——自己調用自己
5.3.2 消除遞歸——用棧模擬遞歸調用過程
第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 隊列在迴文中的應用
第7章 串——數據為字符串的線性結構
7.1 串的定義及抽象數據類型
7.1.1 什麽是串
7.1.2 串的抽象數據類型
7.2 串的存儲表示
7.2.1 串的順序存儲
7.2.2 串的鏈式存儲
7.2.3 順序串應用舉例
7.3 串的模式匹配
7.3.1 樸素模式匹配算法——模式匹配算法Brute-Force
7.3.2 KMP算法
7.3.3 模式匹配應用舉例
第8章 數組與廣義表
8.1 數組的定義及抽象數據類型
8.1.1 什麽是數組
8.1.2 數組的順序存儲結構
8.1.3 特殊矩陣的壓縮存儲
8.1.4 稀疏矩陣的壓縮存儲
8.2 廣義表
8.2.1 什麽是廣義表
8.2.2 廣義表的抽象數據類型
8.2.3 廣義表的頭尾鏈表表示
8.2.4 廣義表的擴展線性鏈表表示
第9章 樹和二叉樹——一對多的數據結構
9.1 樹
9.1.1 什麽是樹
9.1.2 樹的邏輯表示
9.2 二叉樹
9.2.1 什麽是二叉樹
9.2.2 二叉樹的性質
9.2.3 二叉樹的抽象數據類型
9.2.4 二叉樹的存儲表示
9.3 二叉樹的遍歷
9.3.1 什麽是二叉樹的遍歷
9.3.2 二叉樹的先序遍歷
9.3.3 二叉樹的中序遍歷
9.3.4 二叉樹的後序遍歷
9.3.5 二叉樹的層次遍歷
9.3.6 二叉樹遍歷的應用
9.4 二叉樹的線索化及應用
9.4.1 什麽是二叉樹的線索化
9.4.2 二叉樹的線索化
9.4.3 線索二叉樹的遍歷
9.4.4 線索二叉樹的應用舉例
9.5 樹、森林與二叉樹
9.5.1 樹的存儲結構
9.5.2 樹轉換為二叉樹
9.5.3 森林轉換為二叉樹
9.5.4 二叉樹轉換為樹和森林
9.5.5 樹和森林的遍歷
9.6 並查集
9.6.1 並查集的定義
9.6.2 並查集的實現
9.6.3 並查集的應用
9.7 二叉樹的典型應用——哈夫曼樹
9.7.1 哈夫曼樹及應用
9.7.2 利用二叉樹求解算術表達式的值
第10章 圖——多對多的數據結構類型
10.1 圖的定義與相關概念
10.1.1 什麽是圖
10.1.2 圖的相關概念
10.1.3 圖的抽象數據類型
10.2 圖的存儲結構
10.2.1 鄰接矩陣表示法
10.2.2 鄰接