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

數據結構與演算法(C++版第2版高等學校電腦課程規劃教材)

  • 作者:編者:游洪躍//唐寧九|責編:汪漢友
  • 出版社:清華大學
  • ISBN:9787302557746
  • 出版日期:2020/11/01
  • 裝幀:平裝
  • 頁數:380
人民幣:RMB 69 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書結合C++面向對象程序設計的特點,構建了數據結構與演算法,對所有演算法都在Visual C++ 6.0、Visual C++ 2017、Dev-C++ v5.11和CodeBlocks v16.01開發環境中進行了嚴格的測試,同時還提供了大量其他的教學支持資源。通過掃描二維碼可觀看全書所有例題、數據結構相關的類模板及演算法相關函數模板的測試程序演示視頻。
    本書共分11章。第1章是基礎知識,介紹基本概念及其術語;第2章介紹線性表;第3章介紹棧和隊列,用棧實現了表達式求值;第4章介紹串,詳細討論了串的存儲結構與模式匹配演算法;第5章介紹數組和廣義表,提出並實現了廣義表的使用空間表存儲結構;第6章介紹樹,應用哈夫曼編碼實現了文件的壓縮;第7章介紹圖,實現了圖的常用存儲結構,討論了圖的相關應用,並實現了相應演算法;第8章介紹查找、靜態查找表、動態查找表、哈希表及演算法實現;第9章介紹排序,以簡捷方式實現各種排序演算法;第10章介紹文件,討論了幾種常用的文件結構;第11章介紹演算法設計和分析技術。
    通過本書的學習,不但能迅速提高應用數據結構與演算法的能力,而且能提高C++程序設計的能力。本書可作為高等學校電腦類相關專業數據結構、數據結構與演算法分析、數據結構與演算法設計、數據結構與演算法等課程的教材,也可供從事軟體開發工作的讀者學習或參考。

作者介紹
編者:游洪躍//唐寧九|責編:汪漢友

目錄
第1章  緒論
  1.1  數據結構的概念和學習數據結構的必要性
  1.2  數據結構的基本概念
    1.2.1  數據
    1.2.2  數據元素和數據項
    1.2.3  數據結構
  1.3  抽象數據類型及其實現
    1.3.1  數據類型
    1.3.2  抽象數據類型
  1.4  演算法和演算法分析
    1.4.1  演算法
    1.4.2  演算法分析
  **1.5  實例研究:生命遊戲
  1.6  深入學習導讀
  1.7  習題
第2章  線性表
  2.1  線性表的邏輯結構
  2.2  線性表的順序存儲結構
  2.3  線性表的鏈式存儲結構
    2.3.1  單鏈表
    2.3.2  循環鏈表
    2.3.3  雙向鏈表
    *2.3.4  在鏈表結構中保存當前位置和元素個數
  **2.4  實例研究:計算任意大整數的階乘
  2.5  深入學習導讀
  2.6  習題
第3章  棧和隊列
  3.1  棧
    3.1.1  棧的基本概念
    3.1.2  順序棧
    3.1.3  鏈式棧
  3.2  隊列
    3.2.1  隊列的基本概念
    3.2.2  鏈隊列
    3.2.3  循環隊列——隊列的順序存儲結構
    *3.2.4  隊列應用——顯示二項式(a+b)i的係數
  *3.3  優先隊列
  *3.4  實例研究:表達式求值
  3.5  深入學習導讀
  3.6  習題
第4章  串
  4.1  串類型的定義
  4.2  字元串的實現
  4.3  字元串模式匹配演算法
    4.3.1  簡單字元串模式匹配演算法
    *4.3.2  首尾字元串模式匹配演算法
    **4.3.3  KMP字元串模式匹配演算法
  **4.4  實例研究:文本編輯
  4.5  深入學習導讀
  4.6  習題

第5章  數組和廣義表
  5.1  數組
    5.1.1  數組的基本概念
    5.1.2  數組的順序表
    **5.1.3  數組的類模板定義
  5.2  矩陣
    5.2.1  矩陣的定義和操作
    5.2.2  特殊矩陣
    5.2.3  稀疏矩陣
  5.3  廣義表
    5.3.1  基本概念
    *5.3.2  廣義表的存儲結構
  **5.4  實例研究:穩定伴侶問題
  5.5  深入學習導讀
  5.6  習題
第6章  樹和二叉樹
  6.1  樹的基本概念
    6.1.1  樹的定義
    6.1.2  基本術語
  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.5  樹和森林的實現
    6.5.1  樹的存儲表示
    *6.5.2  樹的顯示
    6.5.3  森林的存儲表示
    6.5.4  樹和森林的遍歷
    6.5.5  將樹和森林與二叉樹相互轉換
  6.6  哈夫曼樹與哈夫曼編碼
    6.6.1  哈夫曼樹的基本概念
    6.6.2  哈夫曼樹構造演算法
    6.6.3  哈夫曼編碼
    *6.6.4  哈夫曼樹的實現
  **6.7  樹的計數
  **6.8  樹在等價關係上的應用
  **6.9  實例研究:哈夫曼壓縮演算法
  6.10  深入學習導讀
  6.11  習題
第7章  圖
  7.1  圖的定義和術語
  7.2  圖的存儲表示
    7.2.1  鄰接矩陣

    7.2.2  鄰接表
  7.3  圖的遍歷
    7.3.1  深度優先搜索
    7.3.2  廣度優先搜索
  7.4  連通無向網的最小代價生成樹
    7.4.1  Prim演算法
    7.4.2  Kruskal演算法
  7.5  有向無環圖及應用
    7.5.1  拓撲排序
    7.5.2  關鍵路徑
  7.6  最短路徑
    7.6.1  單源點最短路徑問題
    7.6.2  所有頂點之間的最短路徑
  **7.7  實例研究:週遊世界問題——哈密頓圈
  7.8  深入學習導讀
  7.9  習題
第8章  查找
  8.1  查找的基本概念
  8.2  靜態表的查找
    8.2.1  順序查找
    8.2.2  有序表的查找
  8.3  動態查找表
    8.3.1  二叉排序樹
    *8.3.2  平衡二叉樹
    *8.3.3  B樹和B+樹
  8.4  哈希表
    8.4.1  哈希表的概念
    8.4.2  構造哈希函數的方法
    8.4.3  處理衝突的方法
    *8.4.4  哈希表的實現
  **8.5  實例研究:查找3個數組的最小共同元素
  8.6  深入學習導讀
  8.7  習題
第9章  排序
  9.1  概述
  9.2  插入排序
    9.2.1  直接插入排序
    9.2.2  Shell排序
  9.3  交換排序
    9.3.1  冒泡排序
    9.3.2  快速排序
  9.4  選擇排序
    9.4.1  簡單選擇排序
    9.4.2  堆排序
  9.5  歸併排序
  *9.6  基數排序
    9.6.1  多關鍵字排序
    9.6.2  基數排序
  *9.7  各種內部排序方法討論
  *9.8  外部排序

    9.8.1  外部排序基礎
    9.8.2  外部排序的方法
  **9.9  實例研究:用堆實現優先隊列
  9.10  深入學習導讀
  9.11  習題
*第10章  文件
  10.1  主存儲器和輔助存儲器
  10.2  各種常用文件結構
    10.2.1  順序文件
    10.2.2  索引文件
    10.2.3  哈希文件
  10.3  實例研究
    10.3.1  VSAM文件
    10.3.2  多關鍵字文件
  10.4  深入學習導讀
  10.5  習題
第11章  演算法設計與分析
  11.1  演算法設計
    11.1.1  遞歸演算法
    11.1.2  分治演算法
    *11.1.3  動態規劃演算法
    *11.1.4  貪婪演算法
    *11.1.5  回溯法
    **11.1.6  分支限界法
  11.2  演算法分析
    11.2.1  遞歸分析
    **11.2.2  利用生成函數進行分析
  **11.3  實例研究:圖著色問題
  11.4  深入學習導讀
  11.5  習題
參考文獻
附錄A  調和級數
附錄B  泊松分佈
附錄C  配套軟體包文件索引
附錄D  主流C++開發環境的使用方法

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