數據結構(C++版)

數據結構(C++版)
定價:174
NT $ 151
  • 作者:王紅梅
  • 出版社:清華大學出版社
  • 出版日期:2011-06-01
  • 語言:簡體中文
  • ISBN10:7302244162
  • ISBN13:9787302244165
  • 裝訂:293頁 / 普通級 / 2版
 

內容簡介

數據結構是計算機專業教學計划中的核心課程,也是計算機及相關專業考研和水平等級考試的必考科目。要從事和計算機科學與技術相關的工作,尤其是計算機應用領域的開發和研制工作,必須具備堅實的數據結構基礎。在本書第1版成功的基礎上,作者進行了修訂,作為第2版,本書內容更貼合《計算機學科專業碩士研究生入學考試基礎綜合考試大綱》,可讀性和實用性更強。

王紅梅、胡明、王濤編著的《數據結構(C++版)(第2版)》介紹了數據結構、算法以及抽象數據類型的概念,介紹了線性表、棧、隊列和串、數組、樹和二叉樹、圖等常用數據結構,討論了常用的查找、排序和索引技術,給出了較多的數據結構的應用實例。限於篇幅,把貫穿所有數據結構的綜合案例放在了網站上,供讀者下載。

《數據結構(C++版)(第2版)》內容豐富,層次清晰,講解深入淺出,可作為計算機及相關專業本、專科數據結構課程的教材,也可供從事計算機軟件開發和應用的工程技術人員閱讀、參考。
 

目錄

第1章 緒論
1.1 數據結構在程序設計中的作用
1.2 本書討論的主要內容
1.3 數據結構的基本概念
1.3.1 數據結構
1.3.2 抽象數據類型
1.4 算法及算法分析
1.4.1 算法及其描述方法
1.4.2 算法分析
思想火花——好算法是反復努力和重新修正的結果
習題
思考題
第2章 線性表
2.1 線性表的邏輯結構
2.1.1 線性表的定義
2.1.2 線性表的抽象數據類型定義
2.2 線性表的順序存儲結構及實現
2.2.1 線性表的順序存儲結構——順序表
2.2.2 順序表的實現
2.3 線性表的鏈接存儲結構及實現
2.3.1 單鏈表
2.3.2 循環鏈表
2.3.3 雙鏈表
2.4 順序表和鏈表的比較
2.4.1 時間性能比較
2.4.2 空間性能比較
2.5 線性表的其他存儲方法
2.5.1 靜態鏈表
2.5.2 間接尋址
2.6 應用舉例
2.6.1 順序表的應用舉例——大整數求和
2.6.2 單鏈表的應用舉例——一元多項式求和
思想火花——好程序要能識別和處理各種輸入
習題
思考題
第3章 棧和隊列
3.1 棧
3.1.1 棧的邏輯結構
3.1.2 棧的順序存儲結構及實現
3.1.3 棧的鏈接存儲結構及實現
3.1.4 順序棧和鏈棧的比較
3.2 隊列
3.2.1 隊列的邏輯結構
3.2.2 隊列的順序存儲結構及實現
3.2.3 隊列的鏈接存儲結構及實現
3.2.4 循環隊列和鏈隊列的比較
3.3 應用舉例
3.3.1 棧的應用舉例——表達式求值
3.3.2 隊列的應用舉例——火車車廂重排
思想火花——直覺可能是錯誤的
習題
思考題
第4章 字符串和多維數組
4.1 字符串
4.1.1 字符串的定義
4.1.2 字符串的存儲結構
4.1.3 模式匹配
4.2 多維數組
4.2.1 數組的定義
4.2.2 數組的存儲結構與尋址
4.3 矩陣的壓縮存儲
4.3.1 對稱矩陣的壓縮存儲
4.3.2 三角矩陣的壓縮存儲
4.3.3 對角矩陣的壓縮存儲
4.3.4 稀疏矩陣的壓縮存儲
4.4 應用舉例
4.4.1 字符串的應用舉例——凱撒密碼
4.4.2 數組的應用舉例——幻方
思想火花——用常識性的思維去思考問題
習題
思考題
第5章 樹和二叉樹
5.1 樹的邏輯結構
5.1.1 樹的定義和基本術語
5.1.2 樹的抽象數據類型定義
5.1.3 樹的遍歷操作
5.2 樹的存儲結構
5.2.1 雙親表示法
5.2.2 孩子表示法
5.2.3 雙親孩子表示法
5.2.4 孩子兄弟表示法
5.3 二叉樹的邏輯結構
5.3.1 二叉樹的定義
5.3.2 二叉樹的基本性質
5.3.3 二叉樹的抽象數據類型定義
5.3.4 二叉樹的遍歷操作
5.4 二叉樹的存儲結構及實現
5.4.1 順序存儲結構
5.4.2 二叉鏈表
5.4.3 三叉鏈表
5.4.4 線索鏈表
5.5 二叉樹遍歷的非遞歸算法
5.5.1 前序遍歷非遞歸算法
5.5.2 中序遍歷非遞歸算法
5.5.3 後序遍歷非遞歸算法
5.6 樹、森林與二叉樹的轉換
5.7 應用舉例
5.7.1 二叉樹的應用舉例——哈夫曼樹及哈夫曼編碼
5.7.2 樹的應用舉例——八枚硬幣問題
思想火花——調試程序與魔術表演
習題5
思考題5
第6章 圖
6.1 圖的邏輯結構
6.1.1 圖的定義和基本術語
6.1.2 圖的抽象數據類型定義
6.1.3 圖的遍歷操作
6.2 圖的存儲結構及實現
6.2.1 鄰接矩陣
6.2.2 鄰接表
6.2.3 十字鏈表
6.2.4 鄰接多重表
6.2.5 鄰接矩陣和鄰接表的比較
6.3 最小生成樹
6.3.1 MST性質
6.3.2 Prim算法
6.3.3 Kruskal算法
6.4 最短路徑
6.4.1 Dijkstra算法
6.4.2 Floyd算法
6.5 有向無環圖及其應用
6.5.1 AOV網與拓撲排序
6.5.2 AOE網與關鍵路徑
6.6 應用舉例
6.6.1 圖的應用舉例1——七橋問題
6.6.2 圖的應用舉例2——七巧板塗色
思想火花——數據模型在問題求解中的作用
習題6
思考題6
第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.4 散列表的查找技術
7.4.1 概述
7.4.2 散列函數的設計
7.4.3 處理沖突的方法
7.4.4 散列查找的性能分析
7.4.5 開散列表與閉散列表的比較
思想火花——把注意力集中於主要因素,不要糾纏於噪聲
習題7
思考題7
第8章 排序技術
8.1 概述
8.1.1 排序的基本概念
8.1.2 排序算法的性能
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希爾排序
8.3 交換排序
8.3.1 起泡排序
8.3.2 快速排序
8.4 選擇排序
8.4.1 簡單選擇排序
8.4.2 堆排序
8.5 歸並排序
8.5.1 二路歸並排序的非遞歸實現
8.5.2 二路歸並排序的遞歸實現
8.6 分配排序
8.6.1 桶式排序
8.6.2 基數排序
8.7 各種排序方法的比較
思想火花——學會「盒子以外的思考」
習題8
思考題8
第9章 索引技術
9.1 索引的基本概念
9.2 線性索引技術
9.2.1 稠密索引
9.2.2 分塊索引
9.2.3 多重表
9.2.4 倒排表
9.3 樹形索引
9.3.1 2-3樹
9.3.2 B_樹
9.3.3 B+樹
思想火花——隨處可見的索引
習題9
附錄A 預備知識
A.1 數學術語
A.2 級數求和
A.3 集合
A.4 關系
附錄B C++語言基本語法
B.1 程序結構
B.2 數據類型
B.3 控制語句
B.4 輸入與輸出
B.5 動態存儲分配
B.6 函數
B.7 類與對象
B.8 模板
B.9 異常處理
附錄C 詞匯索引
參考文獻
網路書店 類別 折扣 價格
  1. 新書
    87
    $151