算法與高級語言程式設計

《算法與高級語言程式設計》是教育部高等教育司大學計算機課程改革項目“理工類高校計算思維與大學計算機課程研究與教材建設”的成果之一。

基本介紹

  • 中文名:算法與高級語言程式設計
  • 作 譯 者:高飛,白霞
  • 出版時間:2015-01
  • 出版社:電子工業出版社
圖書信息,內容簡介,目 錄,

圖書信息

作 譯 者:高飛,白霞
出版時間:2015-01
千 字 數:500

內容簡介

本書兼顧程式設計語言和算法的學習,在介紹C++語言的程式設計方法的基礎上,採用C++程式設計語言描述算法。 全書共12章,分為上下篇。上篇講述高級語言程式設計基礎;下篇在介紹算法設計及算法的性能度量後,介紹C++語言描述的典型數據結構和經典算法的設計與分析技術。 本書內容由淺入深、循序漸進、案例豐富、通俗易懂、實用性強,可作為高等學校理工類計算機及相關專業學生的教材,也可供從事程式設計的工程人員參考。

目 錄

上篇 高級語言程式設計基礎
第1章 C++語言概述 3
1.1 C++語言簡介 3
1.2 C++語言的基本組成 4
1.2.1 基本字元集 4
1.2.2 詞法記號 4
1.2.3 語句 4
1.2.4 標準函式館 5
1.3 數據類型 5
1.3.1 常量 5
1.3.2 變數 8
1.4 C++的運算規則與表達式 9
1.4.1 C++語言的運算規則 9
1.4.2 算術運算符與算術表達式 10
1.4.3 自增、自減運算 11
1.4.4 賦值運算符和賦值表達式 11
1.4.5 組合賦值運算符與組合賦值表達式 12
1.4.6 關係運算符與關係表達式 13
1.4.7 邏輯運算符與邏輯表達式 13
1.4.8 條件運算符與條件表達式 15
1.5 C++程式的基本結構、編寫與實現 15
1.5.1 C++程式的基本結構 15
1.5.2 C++程式的編寫與實現 18
小結 19
習題1 20
第2章 函式 21
2.1 函式的聲明和調用 21
2.1.1 函式的聲明 21
2.1.2 函式的調用 22
2.2 函式間的參數傳遞 23
2.2.1 值傳遞 23
2.2.2 函式參數為指針類型 24
2.3 帶默認參數的函式 24
2.4 變數的存儲屬性 25
2.4.1 動態存儲方式與靜態存儲方式 25
2.4.2 局部變數的存儲屬性 26
2.4.3 全局變數的存儲屬性 28
小結 30
習題2 30
第3章 數組、指針和結構 32
3.1 數組 32
3.1.1 一維數組 32
3.1.2 多維數組 33
3.1.3 字元數組和字元串 35
3.2 指針 38
3.2.1 指針的概念 38
3.2.2 指針變數定義 39
3.2.3 指針運算 39
3.3 指針與數組 41
3.3.1 指向數組的指針 41
3.3.2 指向字元串的指針 44
3.3.3 指針數組和指向指針的指針 45
3.4 指針與函式 46
3.4.1 指向函式的指針 46
3.4.2 返回指針值的函式 48
3.5 結構類型 49
3.5.1 結構類型的概念與定義 49
3.5.2 結構變數的說明 50
3.5.3 引用結構中的成員 51
3.5.4 結構的初始化 51
3.6 結構數組 51
3.7 結構指針 53
3.8 在函式之間傳遞結構 54
小結 56
習題3 57
第4章 C++類及其對象的封裝性 58
4.1 從結構到類 58
4.1.1 複習結構 58
4.1.2 從結構提高到類 59
4.1.3 對象的創建和使用 63
4.2 類的成員函式 65
4.2.1 成員函式的定義方式 65
4.2.2 成員函式的訪問屬性 66
4.2.3 成員函式的執行效率 67
4.2.4 成員函式的存儲方式 69
4.3 構造函式 71
4.3.1 對象初始化的要求 71
4.3.2 構造函式的形式 72
4.3.3 拷貝構造函式 77
4.4 析構函式 79
4.4.1 析構函式的形式 79
4.4.2 調用順序 80
4.5 動態存儲 81
4.5.1 記憶體分配與釋放 81
4.5.2 避免記憶體泄漏 83
小結 84
習題4 85
第5章 引用、友元和重載 87
5.1 引用 87
5.1.1 引用的概念與理解 87
5.1.2 在函式通信中大顯身手 89
5.2 友元 93
5.2.1 友元的定義 93
5.2.2 友元函式 94
5.2.3 友元成員 95
5.2.4 友元類 97
5.3 重載 99
5.3.1 函式重載 99
5.3.2 運算符重載 103
小結 114
習題5 114
第6章 繼承 116
6.1 合成與繼承 116
6.2 單繼承 118
6.2.1 派生類的聲明和構成 118
6.2.2 派生類成員的訪問 119
6.2.3 派生類的構造函式和析構函式 126
6.3 多繼承 132
6.3.1 聲明多繼承的方法 132
6.3.2 多繼承派生類的構造函式 135
6.3.3 多繼承引起的二義性問題 138
6.3.4 虛基類 141
小結 146
習題6 147
第7章 多態 150
7.1 繼承呼喚多態 150
7.2 虛函式 151
7.2.1 虛函式的定義與調用 151
7.2.2 虛函式的特例 155
7.2.3 避免虛函式的誤用 156
7.3 純虛函式與抽象類 159
7.3.1 純虛函式 159
7.3.2 抽象類 160
小結 162
習題7 162
第8章 模板 164
8.1 模板的概念 164
8.2 函式模板 164
8.2.1 函式模板和模板函式 164
8.2.2 函式模板的使用 167
8.2.3 重載模板函式 170
8.3 類模板 170
8.3.1 模板和模板類 170
8.3.2 類模板的派生 173
小結 173
習題8 173
下篇 算法分析與設計
第9章 算法導引 177
9.1 算法基礎 177
9.1.1 算法 177
9.1.2 作為技術的算法 178
9.2 算法的設計和性能度量 179
9.2.1 函式的增長 179
9.2.2 標準記號與常用函式 182
小結 185
習題9 186
第10章 基本數據結構 187
10.1 線性表 187
10.1.1 線性表的邏輯結構 187
10.1.2 線性表的順序表示和實現 187
10.1.3 線性表的鏈式表示和實現 189
10.2 棧和佇列 192
10.2.1 棧 192
10.2.2 佇列 195
10.3 哈希表 199
10.3.1 哈希表簡介 199
10.3.2 哈希函式的構造方法 201
10.3.3 處理衝突的方法 203
10.3.4 哈希表的查找及其分析 205
10.4 樹 206
10.4.1 樹、二叉樹和森林的基本概念 206
10.4.2 二叉樹的遍歷和樹的遍歷 211
10.4.3 二叉樹的計數 212
小結 213
習題10 213
第11章 經典設計和分析技術 214
11.1 遞歸與分治法 214
11.1.1 二分檢索問題 214
11.1.2 遞歸的概念 215
11.1.3 分治法的基本思想 216
11.1.4 分治法的套用 217
11.2 貪心算法 228
11.2.1 活動選擇問題 228
11.2.2 貪心算法的基本思想 230
11.2.3 貪心算法的套用 231
11.3 動態規劃 234
11.3.1 鋼條切割問題 235
11.3.2 動態規劃的基本思想 237
11.3.3 動態規劃的套用 239
11.4 經典算法蘊涵的計算思維在其他學科的泛化 242
習題11 244
第12章 圖的算法 246
12.1 圖的基本算法 246
12.1.1 圖的表示 246
12.1.2 廣度優先搜尋 258
12.1.3 深度優先搜尋 259
12.1.4 拓撲排序 260
12.2 最小生成樹 262
12.2.1 最小生成樹的形成 262
12.2.2 Kruskal算法和Prim算法 263
12.3 單源最短路徑 269
12.3.1 有向無環圖的單源最短路徑 270
12.3.2 Dijkstra算法 272
12.4 圖算法蘊涵的計算思維在其他學科的泛化 274
習題12 275
參考文獻 277

相關詞條

熱門詞條

聯絡我們