本書(shū)歷經(jīng)數次修訂,是作者多年教學(xué)、科研成果的結晶,可用于高校理工類(lèi)專(zhuān)業(yè)的計算機基礎課教學(xué)。
《計算機軟件技術(shù)基礎(第四版)(新世紀計算機基礎教育叢書(shū)(譚浩強主編)》針對高等學(xué)校的大學(xué)生、研究生以及科技工作者與研究人員學(xué)習計算機軟件應用技術(shù)的需要,介紹了計算機軟件設計的基礎知識、方法與實(shí)用技術(shù)。書(shū)中主要內容包括集合與算法的基本概念、基本數據結構及其運算、查找與排序技術(shù)、資源管理技術(shù)、數據庫設計技術(shù)、編譯技術(shù)概述、應用軟件設計與開(kāi)發(fā)技術(shù)。每章都配有一定數量的習題。
《計算機軟件技術(shù)基礎(第四版)(新世紀計算機基礎教育叢書(shū)(譚浩強主編)》內容豐富、通俗易懂、實(shí)用性強,可作為高等學(xué)校的教材,也可作為廣大從事計算機應用工作的科技人員的參考書(shū)。
徐士良 清華大學(xué)電子工程系教授,曾擔任全國計算機基礎教育研究會(huì )理事、學(xué)術(shù)委員會(huì )副主任,全國計算機等級考試委員會(huì )委員。在系內首先開(kāi)設并主講計算機算法、數值分析、計算機基礎、軟件基礎、數據結構、多種計算機程序設計語(yǔ)言等課程。編著(zhù)出版了《計算機常用算法》、《數值分析與算法》、《計算機公共基礎》、《計算機軟件技術(shù)基礎》、《實(shí)用數據結構》、《C語(yǔ)言程序設計教程》、《數據與算法》、多種語(yǔ)言版本的《常用算法程序集》等40多部教材,其中《軟件應用技術(shù)基礎》(《計算機軟件技術(shù)基礎》的前版)獲原電子工業(yè)部?jì)?yōu)秀教材壹等獎。
預備知識1.1集合1
1.1.1集合及其基本運算1
1.1.2自然數集與數學(xué)歸納法3
1.1.3笛卡兒積5
1.1.4二元關(guān)系5
1.2算法6
1.2.1算法的基本概念6
1.2.2算法設計基本方法8
1.2.3算法的復雜度分析13
習題15
基本數據結構及其運算 2.1數據結構的基本概念17
2.1.1什么是數據結構17
2.1.2數據結構的圖形表示20
2.2線(xiàn)性表及其順序存儲結構22
2.2.1線(xiàn)性表及其運算22
2.2.2棧及其應用31
2.2.3隊列及其應用41
2.3線(xiàn)性鏈表52
2.3.1線(xiàn)性鏈表的基本概念52
2.3.2線(xiàn)性鏈表的插入與刪除56
2.3.3帶鏈的棧與隊列61
2.3.4循環(huán)鏈表68
2.3.5多項式的表示與運算71
2.4線(xiàn)性表的索引存儲結構78
2.4.1索引存儲的概念782.4.2“順序索引順序”存儲方式80
2.4.3“順序索引鏈接”存儲方式81
2.4.4多重索引存儲結構82
2.5數組83
2.5.1數組的順序存儲結構83
2.5.2規則矩陣的壓縮83
2.5.3一般稀疏矩陣的表示86
2.6樹(shù)與二叉樹(shù)112
2.6.1樹(shù)的基本概念112
2.6.2二叉樹(shù)及其基本性質(zhì)115
2.6.3二叉樹(shù)的遍歷118
2.6.4二叉樹(shù)的存儲結構119
2.6.5穿線(xiàn)二叉樹(shù)124
2.6.6表達式的線(xiàn)性化136
2.7圖138
2.7.1圖的基本概念138
2.7.2圖的存儲結構139
2.7.3圖的遍歷143
2.7.4最短距離問(wèn)題144
2.7.5圖鄰接表類(lèi)146
習題155
查找與排序技術(shù)3.1基本的查找技術(shù)158
3.1.1順序查找158
3.1.2有序表的對分查找158
3.1.3分塊查找163
3.2哈希表技術(shù)164
3.2.1哈希表的基本概念164
3.2.2幾種常用的哈希表167
3.3基本的排序技術(shù)185
3.3.1冒泡排序與快速排序185
3.3.2簡(jiǎn)單插入排序與希爾排序190
3.3.3簡(jiǎn)單選擇排序與堆排序192
3.3.4其他排序方法簡(jiǎn)介195
3.4二叉排序樹(shù)及其查找1993.4.1二叉排序樹(shù)的基本概念200
3.4.2二叉排序樹(shù)的插入201
3.4.3二叉排序樹(shù)的刪除202
3.4.4二叉排序樹(shù)查找204
3.5多層索引樹(shù)及其查找206
3.5.1B-樹(shù)207
3.5.2B+樹(shù)217
3.6拓撲分類(lèi)227
3.7字符串匹配229
3.7.1字符串的基本概念229
3.7.2字符串匹配的KMP算法230
習題235
資源管理技術(shù)4.1操作系統的概念237
4.1.1操作系統的功能與任務(wù)237
4.1.2操作系統的發(fā)展過(guò)程238
4.1.3操作系統的分類(lèi)241
4.2多道程序設計244
4.2.1并發(fā)程序設計244
4.2.2進(jìn)程247
4.2.3進(jìn)程之間的通信251
4.2.4多道程序的組織256
4.3存儲空間的組織257
4.3.1內存儲器的管理技術(shù)257
4.3.2外存儲器中文件的組織結構261
習題268
數據庫設計技術(shù)5.1數據庫基本概念269
5.1.1數據庫技術(shù)與數據庫系統269
5.1.2數據描述274
5.1.3數據模型276
5.2關(guān)系代數280
5.3數據庫設計286
5.3.1數據庫設計的基本概念286
5.3.2數據庫設計的過(guò)程287
5.3.3數據字典293
習題295
編譯技術(shù)概述6.1編譯程序的工作過(guò)程及其基本組成297
6.1.1編譯程序的工作過(guò)程297
6.1.2編譯程序的基本組成298
6.2狀態(tài)矩陣法的編譯過(guò)程299
6.2.1狀態(tài)矩陣法的基本原理299
6.2.2狀態(tài)矩陣的壓縮300
6.3詞法分析302
6.3.1詞法分析的任務(wù)302
6.3.2讀字符程序303
6.3.3狀態(tài)矩陣法的詞法分析過(guò)程304
6.3.4算術(shù)常數的識別和翻譯307
6.4中間語(yǔ)言表示310
6.4.1波蘭表示310
6.4.2三元組表示312
6.5語(yǔ)法的分析與加工316
習題321
應用軟件設計與開(kāi)發(fā)技術(shù)7.1軟件工程概述322
7.1.1軟件工程的概念322
7.1.2軟件生命周期322
7.1.3軟件支援環(huán)境325
7.2軟件詳細設計的表達326
7.2.1程序流程圖326
7.2.2NS圖327
7.2.3問(wèn)題分析圖PAD329
7.2.4判定表329
7.2.5過(guò)程設計語(yǔ)言PDL330
7.3結構化分析與設計方法331
7.3.1應用軟件開(kāi)發(fā)的原則和方法331
7.3.2結構化分析方法332
7.3.3結構化設計方法336
7.4測試與調試基本技術(shù)342
7.4.1測試342
7.4.2調試349
7.5軟件開(kāi)發(fā)新技術(shù)351
7.5.1原型方法351
7.5.2瀑布模型352
7.5.3面向對象技術(shù)353
習題354
參考文獻355