深入淺出數據結構

深入淺出數據結構

《深入淺出數據結構》是2014年11月15日清華大學出版社出版的圖書。

基本介紹

  • 中文名:深入淺出數據結構
  • 作者:翁惠玉 、俞勇
  • 出版社:清華大學出版社
  • 出版時間:2014年11月15日 
  • 定價:29.5 元
  • 裝幀:平裝
  • ISBN:9787302368915
  • 印次:1-1
圖書簡介,圖書目錄,

圖書簡介

本書嚴格按照計算機考研大綱的內容和次序來組織。每一章都包括相關知識點的介紹和總結,以及大量的習題解答。習題中包含2009—2014年的所有考研習題,並給出了深入淺出的解答。除了考研題目之外,本書還選用了大量的習題,包含的題型有概念題、選擇題和程式設計題。這些習題可以很好地幫助讀者理解數據結構的基本知識以及靈活套用數據結構。
本書可作為參加計算機及相關專業碩士研究生考前複習的參考教材,也可以作為各高等院校計算機專業或其他相關專業“數據結構”課程的教材。
數據結構是計算機專業最基礎、最重要的課程之一,也是全國碩士研究生入學考試計算機專業的必考科目。

圖書目錄

第1章緒論/1
1.1算法與數據結構/1
1.1.1數據的邏輯結構/1
1.1.2數據結構的運算/2
1.2存儲實現/3
1.3算法分析/4
1.3.1時間複雜度/4
1.3.2空間複雜度/7
習題與解答/7第2章線性表/11
2.1線性表的定義和基本操作/11
2.1.1線性表的定義/11
2.1.2線性表的基本操作/11
2.2線性表的實現/12
2.2.1線性表的順序實現/12
2.2.2線性表的連結實現/15
2.3線性表的套用/22
2.3.1大整數的處理/22
2.3.2多項式的處理/25
習題與解答/27第3章棧、佇列和數組/38
3.1棧/38
3.1.1棧的基本概念/38
3.1.2棧的順序實現/39
3.1.3棧的連結實現/40
3.1.4棧的套用/41
3.2佇列/53
3.2.1佇列的概念/53
3.2.2佇列的順序實現/54
3.2.3佇列的連結實現/553.2.4佇列的套用/57
3.2.5火車車廂重排/61
3.3特殊矩陣的存儲/64
3.3.1對稱矩陣/64
3.3.2三角矩陣/65
3.3.3稀疏矩陣/65
習題與解答/66第4章樹與二叉樹/86
4.1樹的基本概念/86
4.2二叉樹/87
4.2.1二叉樹的定義及主要特徵/87
4.2.2二叉樹的順序實現/88
4.2.3二叉樹的連結實現/89
4.2.4二叉樹的遍歷/91
4.2.5線索二叉樹的概念和構造/98
4.3樹和森林/100
4.3.1樹的存儲/100
4.3.2森林和二叉樹的轉換/102
4.3.3樹和森林的遍歷/103
4.4樹和二叉樹的套用/103
4.4.3哈夫曼樹和哈夫曼編碼/112
4.4.4樹與等價類的處理/115
習題與解答/117第5章圖/146
5.1圖的概念/146
5.2圖的存儲/148
5.2.1鄰接矩陣法/148
5.2.2鄰接表法/149
5.2.3鄰接多重表/150
5.2.4十字鍊表/151
5.3圖的遍歷/152
5.3.1深度優先遍歷/152
5.3.2廣度優先遍歷/154
5.4圖的基本套用/157
5.4.1最小生成樹/157
5.4.2最短路徑/162
5.4.3拓撲排序/168
5.4.4關鍵路徑/170
習題與解答/173第6章查找/196
6.1查找的基本概念/196
6.2靜態查找表/196
6.2.1順序查找/197
6.2.2折半查找/197
6.2.3分塊查找/198
6.3B樹和B+樹/199
6.3.1B樹/199
6.3.2B+樹/202
6.4散列表/203
6.4.1散列函式/204
6.4.2碰撞的解決/204
6.4.3字元串的存儲與匹配/211
6.5查找算法的分析與套用/214
習題與解答/215第7章排序/226
7.1基本概念/226
7.2插入排序/226
7.2.1直接插入排序/226
7.3冒泡排序/227
7.4簡單選擇排序/228
7.5希爾排序/228
7.6快速排序/229
7.7堆排序/231
7.8二路歸併排序/235
7.9基數排序/236
7.10外排序/238
7.11各種內排序算法的比較/240
習題與解答/241參考文獻/264
第1章走進Qt/1
1.1Qt簡介/1
1.1.1認識Qt/1
1.1.2Qt開發環境的主要構成介紹/2
1.1.3使用Qt開發C++應用程式的優勢/4
1.2Qt的下載、安裝與配置/4
1.2.1Windows平台下Qt的C++語言開發環境安裝與配置/4
1.2.2Linux平台下Qt的C++語言開發環境安裝與配置/7
1.3Qt Creator集成開發環境/12
1.3.1Qt Creator集成開發環境/12
1.3.2Qt Creator常用選單功能介紹/13
1.3.3使用Qt創建項目/14
1.3.4Qt開發環境的使用方法/18
1.3.5Qt項目檔案的建立、添加和刪除/18
1.3.6編輯項目的源程式檔案和界面檔案/19
1.3.7項目編譯模式及其配置/20
1.3.8編譯並連結生成項目檔案/20
1.3.9糾正編譯或連線出現的錯誤/20
1.3.10Qt工具列的使用/21
1.4Qt Creator在線上幫助系統及其使用/21
1.4.1Qt中如何尋求幫助/21
1.4.2幫助檔案的打開及使用原始碼
編輯器/22
1.4.3縮小查找範圍/23
1.5使用Qt Creator開發C++語言程式/24
1.5.1Windows平台下使用Qt開發C++語言程式/24
1.5.2Linux平台下使用Qt開發C++語言程式/29
1.6習題/36第2章C++程式設計基礎/37
2.1C++語言簡介/37
2.1.1認識C++/37
2.1.2C++的標準化/37
2.2C++源程式的結構/38
2.2.1C++源程式舉例/38
2.2.2C++源程式的結構/40
2.2.3C++語言的基本語法成分/41
2.3基本數據與表達式/42
2.3.1數據類型/42
2.3.2常量和變數/44
2.3.3運算符與表達式/46
2.4C++中的輸入輸出/47
2.5程式的控制結構/50
2.5.1順序結構/50
2.5.2選擇結構/50
2.5.3循環結構/55
2.5.4跳轉語句/58
2.6函式/59
2.6.1函式/59
2.6.2函式的其他特性/62
2.7數組與字元串/65
2.7.1數組/65
2.7.2字元串與string類/67
2.8指針與引用/70
2.8.1指針/70
2.8.2引用/71
2.9const修飾符/76
2.10動態記憶體分配/79
2.11習題/82
2.11.1選擇題/82
2.11.2填空題/83
2.11.3編程題/84第3章類與對象/85
3.1面向對象程式設計概述/85
3.1.1面向對象的基本概念/85
3.1.2面向對象的基本特徵/88
3.1.3面向對象的語言簡介/89
3.2類與對象的定義/90
3.2.1類的定義/90
3.2.2對象的定義與使用/97
3.2.3類的作用域/101
3.2.4類的封裝性和信息隱藏——公有接口與私有實現的分離/102
3.3構造函式與析構函式/104
3.3.1構造函式/104
3.3.2複製構造函式/113
3.3.3析構函式/118
3.4對象的深複製/120
3.5靜態成員/122
3.5.1靜態數據成員/122
3.5.2靜態成員函式/124
3.6常類型/127
3.6.1常對象/127
3.6.2類的常數據成員/128
3.6.3類的常成員函式/129
3.7友元/131
3.7.1友元函式/131
3.7.2友元類/136
3.7.3友元套用舉例/138
3.8對象數組與類的組合/140
3.8.1對象數組/140
3.8.2類的組合/144
3.9程式舉例/147
3.10習題/149
3.10.1選擇題/149
3.10.2問答及編程題/152第4章繼承與派生/154
4.1單繼承/155
4.1.1繼承的定義/155
4.1.2訪問控制/157
4.1.3重名的成員變數和成員函式/160
4.1.4在派生類中訪問靜態成員/162
4.1.5基類的初始化/163
4.2多繼承/168
4.2.1派生類的構造與訪問/168
4.2.2虛繼承/169
4.3習題/170第5章虛函式與多態/171
5.1類指針的關係/172
5.2靜態聯編和動態聯編/174
5.3虛函式/175
5.4純虛函式和抽象類/178
5.5習題/181第6章運算符重載/182
6.1運算符重載概述/183
6.1.1運算符重載的實質/183
6.1.2用友元函式和成員函式重載運算符的異同/186
6.1.3++和--運算符的重載/188
6.2習題/191第7章模板和異常處理/192
7.1模板的概念/192
7.2函式模板/192
7.2.1函式模板的聲明/192
7.2.2函式模板的實例化/193
7.2.3函式模板套用舉例/195
7.3類模板/197
7.3.1類模板的定義/197
7.3.2類模板的實例化/198
7.3.3類模板的套用舉例/199
7.4.1容器/203
7.4.2算法/206
7.4.3疊代器/209
7.5異常處理/210
7.5.1異常處理概述/210
7.5.2異常處理的實現/211
7.5.3標準庫中的異常類型/216
7.6習題/218
7.6.1選擇題/218
7.6.2編程題/218第8章輸入輸出流與命名空間/220
8.1I/O流的概念/220
8.2標準I/O流/221
8.2.1標準I/O流概述/221
8.2.2標準輸出/222
8.2.3標準輸入/224
8.2.4重載插入/提取函式/225
8.3格式控制/228
8.3.1用ios成員函式格式化/228
8.3.2用操縱運算元格式化/231
8.4檔案處理/232
8.4.1檔案和流/232
8.4.2檔案的打開和關閉/233
8.4.3文本檔案/234
8.4.4二進制檔案/235
8.5命名空間/238
8.6習題/241第9章圖形界面程式設計基礎/242
9.1圖形界面程式設計基礎知識/242
9.1.1C++中的對象/242
9.1.2Qt C++中的窗體/243
9.1.3Qt C++中的部件和部件類/243
9.1.4Qt C++中的屬性(Properties)視窗/244
9.2Qt的信號和槽/244
9.3Qt的元對象系統/246
9.4Qt命令行法開發圖形界面程式/246
9.5Qt中如何實現用戶操作的回響/249
9.6Qt中如何實現視窗部件的布局/250
9.7習題/252第10章對話框編程/254
10.1代碼編程創建對話框/254
10.2對話框的可視化設計/263
10.3可擴展的對話框/271
10.4對話框的動態實現/279
10.5Qt內置的視窗部件和對話框類/280
10.6習題/285第11章使用Qt開發文本編輯器/286
11.1Qt Creator的下載和安裝/286
11.2Qt Creator開發簡單的文本編輯器/287
11.2.1創建項目TextEditor/287
11.2.2TextEditor的主視窗、選單和
圖示/289
11.2.3TextEditor檔案新建、保存和另外儲存為的功能實現/300
11.2.4TextEditor檔案的打開、關閉和退出系統的功能實現/308
11.2.5TextEditor文本複製、剪下、貼上以及撤銷的功能實現/309
11.2.6TextEditor文本查找功能的
實現/310
11.2.7TextEditor查找和定位函式的
方法/311
11.2.8TextEditor中實現狀態欄/316
11.3習題/318附錄AC++關鍵字/319附錄BC++運算符/320
參考文獻/321

相關詞條

熱門詞條

聯絡我們