數據結構與演算法 十二五 普通高等教育本科国家级规划教材·高等学校本科计算机类专业应用型人才培养研究 项目规划教材:数据结构与算法(第2版)

陳衛衛, 王慶瑞

下單後立即進貨 (約4週~6週)

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

商品描述

 

<內容簡介>

陳衛衛、王慶瑞編寫的《數據結構與演算法(第2版高等學校本科電腦類專業應用型人才培養研究項目規劃教材)》是對2010年第1版教材的內容進行優化重組、修訂而成。全書共6章,分別為概述、表結構、樹結構、圖結構、排序和問題的固有難度和演算法設計的一般主法簡介。主要內容包括數據結構和演算法的基本概念;順序表、鏈表、棧、隊、矩陣、字符串、散列表、廣義表、樹、二叉樹、檢索樹、最優檢索樹、AVL樹、紅黑樹、B樹、B+樹、2—3樹、Trie樹、哈夫曼樹、判定樹、union—find樹、圖等基本結構及各結構的特點和存儲方法;實現查找、插入、刪除、遍歷、搜索演算法的設計方法和時空效率分析,實現圖的最小生成樹和最短路徑求解演算法、DAG圖的拓撲排序和關鍵路徑求解演算法,以及實現各種內排序演算法、文件結構和外排序演算法;講解問題的固有難度、演算法設計的一般方法,並給出表、樹、圖等典型基本結構的c++類實現示例。全書配有400多道各種題型的習題。
本書語言通俗流暢,敘述簡潔,可讀性強,配有豐富的教學資源,可作為普通高等學校本科計算類專業教材和教學參考書,也可作為程序設計愛好者的理論指導書。

 

<章節目錄>

第1章  概述
  1.1 基本概念
    1.1.1 數據結構的概念
    1.1.2 抽象數據類型
    1.1.3 演算法的概念
  習題1.1
  1.2 演算法的描述和評價
    1.2.1 演算法的描述
    1.2.2 演算法的評價標準和評價方法
    1.2.3 計算時間複雜性的一般方法
  習題1.2
  內容小結
  綜合習題
第2章  表結構
  2.1 基本概念和順序表
    2.1.1 基本概念
    2.1.2 順序表的插入和刪除
    2.1.3 順序表的查找
  習題2.1
  2.2 鏈表
    2.2.1 基本概念和鏈表種類
    2.2.2 鏈表的構造
    2.2.3 鏈表的遍歷
    2.2.4 鏈表的插入和刪除
    2.2.5 靜態鏈表
  習題2.2
  2.3 棧和隊
    2.3.1 基本概念
    2.3.2 進棧和退棧演算法
    2.3.3 進隊和出隊演算法
    2.3.4 應用舉例
  習題2.3
  2.4 矩陣和字符串
    2.4.1 矩陣的基本概念和存儲方法
    2.4.2 稀疏矩陣運算示例
    2.4.3 字符串的基本概念和簡單匹配演算法
    2.4.4 其他匹配演算法
  習題2.4
  2.5 散列表
    2.5.1 散列函數
    2.5.2 散列表的處理演算法
    2.5.3 散列表的性能分析
  習題2.5
  2.6 廣義表
  習題2.6
  2.7 表結構的類實現示例
  習題2.7
  內容小結
  綜合習題
第3章  樹結構

  3.1 基本概念和存儲方法
    3.1.1 普通樹的基本概念
    3.1.2 二叉樹的基本概念
    3.1.3 普誦樹與二叉樹的相互
  轉換
    3.1.4 樹的存儲方法
  習題3.1
  3.2 二叉樹的遍歷和構造
    3.2.1 二叉樹的遍歷
    3.2.2 遍歷序列的前驅和後繼
    3.2.3 遍歷的應用示例
    3.2.4 二叉樹的構造
    3.2.5 非遞歸的遍歷演算法
  習題3.2
  3.3 檢索樹
    3.3.1 檢索樹的查找
    3.3.2 檢索樹的插入和構造
    3.3.3 檢索樹的刪除
    3.3.4 最優檢索樹
  習題3.3
  3.4 平衡樹
    3.4.1 AVL樹
    3.4.2 紅黑樹
  習題3.4
  3.5 B樹和e樹
    3.5.1 B樹
    3.5.2 B+樹
    3.5.3 Trie樹
  習題3.5
  3.6 幾個實用樹結構
    3.6.1 哈夫曼樹
    3.6.2 判定樹
    3.6.3 union—nnd樹
  習題3.6
  3.7 樹結構的類實現示例
  習題3.7
  內容小結
  綜合習題
第4章  圖結構
  4.1 基本概念和存儲方法
    4.1.1 圖的定義和有關術語
    4.1.2 圖的存儲方法
  習題4.1
  4.2 圖的遍歷和應用示例
    4.2.1 先深搜索
    4.2.2 先廣搜索
    4.2.3 無向圖的關節點
  習題4.2
  4.3 最小生成樹和最短路徑
    4.3.1 KruskaI演算法

    4.3.2 PrIm演算法
    4.3.3 Djkstra演算法
    4.3.4 F10yd演算法
  習題4.3
  4.4 有向無迴路圖
    4.4.1 基本概念
    4.4.2 拓撲排序
    4.4.3 關鍵路徑
  習題4.4
  4.5 圖結構的類實現示例
  習題4.5
  內容小結
  綜合習題
第5章  排序
  5.1 基本概念
  習題5.1
  5.2 插入排序
    5.2.1 直接插入排序
    5.2.2 二分插入排序
    5.2.3 希爾排序
  習題5.2
  5.3 交換排序
    5.3.1 冒泡排序
    5.3.2 快速排序
  習題5.3
  5.4 選擇排序
    5.4.1 一般原理和效率分析
    5.4.2 樹選排序
    5.4.3 堆排序
  習題5.4
  5.5 合併排序
    5.5.1 遞歸的合併排序
    5.5.2 非遞歸的合併排序
  習題5.5
  5.6 基數排序
    5.6.1 基本原理和示例
    5.6.2 演算法的實現和分析
  習題5.6
  5.7 外部排序
    5.7.1 文件的組織結構
    5.7.2 順串的合併
    5.7.3 初始順串的生成
    5.7.4 最佳合併樹
    5.7.5 磁帶排序
  習題5.7
  內容小結
  綜合習題
第6章  問題的固有難度和演算法設計的一般方法簡介
  6.1 問題的固有難度和分類
    6.1.1 演算法的重要地位

    6.1.2 問題的固有難度
    6.1.3 不確定性演算法
    6.1.4 三大重要的問題類
  習題6.1
  6.2 演算法設計的一般方法
    6.2.1 集合運算的數據結構選取
    6.2.2 遞歸、分治和平衡
    6.2.3 貪心法
    6.2.4 動態規劃法
    6.2.5 搜索一回溯法
  習題6.2
  內容小結
  綜合習題
  參考文獻