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