計算機(jī)軟件技術(shù)基礎(chǔ)(第四版)
定 價:39.5 元
叢書名:新世紀(jì)計算機(jī)基礎(chǔ)教育叢書
- 作者:徐士良,葛兵 著
- 出版時間:2014/9/1
- ISBN:9787302357193
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP31
- 頁碼:355
- 紙張:膠版紙
- 版次:4
- 開本:16K
《計算機(jī)軟件技術(shù)基礎(chǔ)(第四版)(新世紀(jì)計算機(jī)基礎(chǔ)教育叢書(譚浩強(qiáng)主編)》針對高等學(xué)校的大學(xué)生、研究生以及科技工作者與研究人員學(xué)習(xí)計算機(jī)軟件應(yīng)用技術(shù)的需要,介紹了計算機(jī)軟件設(shè)計的基礎(chǔ)知識、方法與實用技術(shù)。書中主要內(nèi)容包括集合與算法的基本概念、基本數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算、查找與排序技術(shù)、資源管理技術(shù)、數(shù)據(jù)庫設(shè)計技術(shù)、編譯技術(shù)概述、應(yīng)用軟件設(shè)計與開發(fā)技術(shù)。每章都配有一定數(shù)量的習(xí)題。
《計算機(jī)軟件技術(shù)基礎(chǔ)(第四版)(新世紀(jì)計算機(jī)基礎(chǔ)教育叢書(譚浩強(qiáng)主編)》內(nèi)容豐富、通俗易懂、實用性強(qiáng),可作為高等學(xué)校的教材,也可作為廣大從事計算機(jī)應(yīng)用工作的科技人員的參考書。
本書第二版是普通高等教育“十一五”國家級規(guī)劃教材,并被評為2008年度普通高等教育精品教材。
本次修訂保持了前三版的特點,在第三版的基礎(chǔ)上進(jìn)行了如下幾方面的調(diào)整與修改。
(1) 所有算法程序均采用C++語言進(jìn)行描述。由于C++語言既可用于面向過程的程序設(shè)計,又支持面向?qū)ο蟮某绦蛟O(shè)計,因此,作者在對算法進(jìn)行描述時,盡量采用最合適的程序設(shè)計方法。例如,對于同一批數(shù)據(jù)進(jìn)行同類操作的單個算法采用面向過程的方法;對于基本的數(shù)據(jù)結(jié)構(gòu)(如順序存儲與鏈?zhǔn)酱鎯Φ木性表、棧、隊列等)采用面向?qū)ο蟮姆椒,將?shù)據(jù)與運(yùn)算封裝成類,以便在其他應(yīng)用程序中直接使用。這樣,書中的所有算法都可以直接在實際應(yīng)用中方便地使用。
(2) 在第2章的2.7節(jié)中增加了最短距離問題的內(nèi)容。
(3) 在第3章中增加了字符串匹配的內(nèi)容。
本書內(nèi)容豐富、通俗易懂、實用性強(qiáng),書中所有算法程序均上機(jī)調(diào)試通過。本書可作為高等學(xué)校的大學(xué)生或研究生軟件課程的教材,也可作為廣大從事計算機(jī)應(yīng)用工作的科技人員的參考書。
由于作者水平有限,書中難免有錯誤或不妥之處,懇請讀者批評指正。
作者
本書第二版是普通高等教育“十一五”國家級規(guī)劃教材,并被評為2008年度普通高等教育精品教材。
本次修訂保持了第二版的特點(見第二版前言),主要在內(nèi)容上作了如下幾方面的調(diào)整。
(1) 在第1章中增加了集合方面的基本知識,對算法方面的基本內(nèi)容進(jìn)行了適當(dāng)?shù)木啞?br />(2) 在第2章中增加了索引存儲結(jié)構(gòu)的內(nèi)容。
(3) 在第5章中刪去了關(guān)系數(shù)據(jù)庫語言SQL的內(nèi)容。
(4) 新增加了編譯技術(shù)概述一章。
本書內(nèi)容豐富、通俗易懂、實用性強(qiáng),書中所有算法程序均上機(jī)調(diào)試通過。本書可作為大學(xué)生或研究生的軟件技術(shù)基礎(chǔ)課程的教材,也可作為廣大從事計算機(jī)應(yīng)用工作的科技人員的參考書。
由于作者水平有限,書中難免有錯誤或不妥之處,懇請讀者批評指正。
作者
高等學(xué)校非計算機(jī)專業(yè)的學(xué)生(包括廣大科技人員)如何學(xué)習(xí)和掌握軟件技術(shù),是一個很重要的問題。他們不可能像計算機(jī)專業(yè)的學(xué)生那樣學(xué)習(xí)軟件的各門課程,因此有必要將主要的軟件技術(shù)和知識在一門課程中介紹,但又不能是拼盤式的組合。國外根本沒有這樣的教材,國內(nèi)這樣的教材也不多。有的教材雖然名稱叫“軟件技術(shù)”,但實際上是一些新軟件的使用。本教材介紹的是軟件技術(shù),而不是軟件的使用。
本教材主要針對高等學(xué)校非計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)計算機(jī)軟件技術(shù)的需要,介紹有關(guān)軟件基礎(chǔ)知識及應(yīng)用技術(shù)。其特點如下:
(1) 系統(tǒng)性。本教材不是將計算機(jī)專業(yè)各門課程的內(nèi)容簡單地拼裝在一起,而是針對學(xué)生對軟件應(yīng)用技術(shù)的需要,將其有機(jī)結(jié)合,為讀者提供軟件開發(fā)中所需要的軟件知識和技術(shù)。全書以數(shù)據(jù)結(jié)構(gòu)與算法為基礎(chǔ),以軟件技術(shù)為線索,系統(tǒng)性較強(qiáng)。
(2) 強(qiáng)調(diào)應(yīng)用。本教材強(qiáng)調(diào)以應(yīng)用為目的,書中實例比較豐富,內(nèi)容圍繞解決軟件開發(fā)中所遇到的軟件技術(shù)問題來展開。在介紹系統(tǒng)軟件(如操作系統(tǒng))時,為了便于讀者理解,也適當(dāng)介紹一些原理,但主要還是介紹實現(xiàn)系統(tǒng)軟件中的技術(shù),以便讀者將這些技術(shù)用到應(yīng)用軟件的開發(fā)中。
(3) 可讀性強(qiáng)。本書深入淺出,通過實例引出基本概念,便于讀者接受。
此次對本書的修訂主要是前三章。書中所有的算法均采用C++描述。由于C++語言既可用于面向過程的程序設(shè)計,又支持面向?qū)ο蟮某绦蛟O(shè)計,因此,作者在對算法進(jìn)行描述時,盡量采用最合適的程序設(shè)計方法。例如,對于基本的數(shù)據(jù)結(jié)構(gòu)(如順序存儲與鏈?zhǔn)酱鎯Φ木性表、棧、隊列等)采用面向?qū)ο蟮姆椒ǎ瑢?shù)據(jù)與運(yùn)算封裝成類,以便在其他應(yīng)用程序中直接使用;而對于同一批數(shù)據(jù)進(jìn)行同類操作的各種算法(如對線性表的各種排序方法)則采用面向過程的方法,將各種不同的算法用普通函數(shù)來描述。這樣,書中的所有算法都可以直接應(yīng)用。
本書內(nèi)容豐富、通俗易懂、實用性強(qiáng),書中所有算法程序(C++描述)均上機(jī)調(diào)試通過。本書可作為非計算機(jī)專業(yè)的大學(xué)生或研究生軟件課程的教材,也可作為廣大從事計算機(jī)應(yīng)用工作的科技人員的參考書。
由于作者水平有限,書中難免有錯誤或不妥之處,懇請讀者批評指正。
作者
隨著計算機(jī)技術(shù)的深入發(fā)展,計算機(jī)技術(shù)的應(yīng)用已經(jīng)滲透到各個領(lǐng)域,特別是計算機(jī)軟件的設(shè)計與開發(fā),已經(jīng)不只是計算機(jī)專業(yè)人員的事情了,F(xiàn)在,越來越多的軟件需要非計算機(jī)專業(yè)的人員來設(shè)計與開發(fā),很多系統(tǒng)軟件與應(yīng)用軟件由非計算機(jī)專業(yè)人員來使用,并在此基礎(chǔ)上進(jìn)行二次開發(fā)。因此,普及計算機(jī)軟件技術(shù)已經(jīng)是大勢所趨。
本書在《軟件應(yīng)用技術(shù)基礎(chǔ)》(該書由清華大學(xué)出版社出版,獲電子工業(yè)部優(yōu)秀教材一等獎)一書的基礎(chǔ)上改寫而成,可滿足廣大非計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)軟件設(shè)計與開發(fā)的需要。作為應(yīng)用計算機(jī)的科技人員,除了要掌握現(xiàn)有計算機(jī)軟件的使用外,從實際應(yīng)用出發(fā),還必須要掌握軟件設(shè)計與開發(fā)的基本知識和有關(guān)技術(shù),如數(shù)據(jù)的組織、程序的組織、計算機(jī)資源的利用、數(shù)據(jù)的處理技術(shù)等,以便得心應(yīng)手地進(jìn)行應(yīng)用軟件的設(shè)計與開發(fā)。
全書共分6章,每章后面都附有一定數(shù)量的習(xí)題。
第1章介紹算法。內(nèi)容主要包括算法的基本概念、算法的基本設(shè)計方法、算法的復(fù)雜度分析等內(nèi)容。
第2章介紹基本數(shù)據(jù)結(jié)構(gòu)及其運(yùn)算。內(nèi)容主要包括數(shù)據(jù)結(jié)構(gòu)的基本概念,線性表、棧、隊列及其在順序存儲結(jié)構(gòu)下的運(yùn)算和應(yīng)用,線性鏈表及其運(yùn)算,數(shù)組,二叉樹的概念、存儲及其應(yīng)用,圖的存儲及其遍歷。
第3章介紹常用的查找與排序技術(shù)。內(nèi)容主要包括基本的查找技術(shù)、哈希表技術(shù)、基本的排序技術(shù)、二叉排序樹及其查找、多層索引樹及其查找、拓?fù)浞诸悺?br />第4章介紹資源管理技術(shù)。內(nèi)容主要包括操作系統(tǒng)的功能與任務(wù)、多道程序設(shè)計、存儲空間的組織。
第5章介紹數(shù)據(jù)庫技術(shù)。內(nèi)容主要包括數(shù)據(jù)庫基本概念、關(guān)系代數(shù)、數(shù)據(jù)庫設(shè)計、關(guān)系數(shù)據(jù)庫語言SQL。
第6章介紹應(yīng)用軟件設(shè)計與開發(fā)技術(shù)。內(nèi)容主要包括軟件工程概述、軟件詳細(xì)設(shè)計的表達(dá)、結(jié)構(gòu)化分析與設(shè)計方法、測試與調(diào)試基本技術(shù)、軟件開發(fā)新技術(shù)。
本書內(nèi)容豐富、通俗易懂、實用性強(qiáng),書中所有算法程序均上機(jī)調(diào)試通過。本書可作為高等學(xué)校非計算機(jī)專業(yè)的大學(xué)生或研究生軟件課程的教材,也可作為廣大從事計算機(jī)應(yīng)用工作的科技人員的參考書。
由于作者水平有限,書中難免有錯誤或不妥之處,懇請讀者批評指正。作者
預(yù)備知識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è)計基本方法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線性表及其順序存儲結(jié)構(gòu)22
2.2.1線性表及其運(yùn)算22
2.2.2棧及其應(yīng)用31
2.2.3隊列及其應(yīng)用41
2.3線性鏈表52
2.3.1線性鏈表的基本概念52
2.3.2線性鏈表的插入與刪除56
2.3.3帶鏈的棧與隊列61
2.3.4循環(huán)鏈表68
2.3.5多項式的表示與運(yùn)算71
2.4線性表的索引存儲結(jié)構(gòu)78
2.4.1索引存儲的概念782.4.2“順序?索引?順序”存儲方式80
2.4.3“順序?索引?鏈接”存儲方式81
2.4.4多重索引存儲結(jié)構(gòu)82
2.5數(shù)組83
2.5.1數(shù)組的順序存儲結(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二叉樹的存儲結(jié)構(gòu)119
2.6.5穿線二叉樹124
2.6.6表達(dá)式的線性化136
2.7圖138
2.7.1圖的基本概念138
2.7.2圖的存儲結(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有序表的對分查找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簡單插入排序與希爾排序190
3.3.3簡單選擇排序與堆排序192
3.3.4其他排序方法簡介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è)計244
4.2.1并發(fā)程序設(shè)計244
4.2.2進(jìn)程247
4.2.3進(jìn)程之間的通信251
4.2.4多道程序的組織256
4.3存儲空間的組織257
4.3.1內(nèi)存儲器的管理技術(shù)257
4.3.2外存儲器中文件的組織結(jié)構(gòu)261
習(xí)題268
數(shù)據(jù)庫設(shè)計技術(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è)計286
5.3.1數(shù)據(jù)庫設(shè)計的基本概念286
5.3.2數(shù)據(jù)庫設(shè)計的過程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ù)的識別和翻譯307
6.4中間語言表示310
6.4.1波蘭表示310
6.4.2三元組表示312
6.5語法的分析與加工316
習(xí)題321
應(yīng)用軟件設(shè)計與開發(fā)技術(shù)7.1軟件工程概述322
7.1.1軟件工程的概念322
7.1.2軟件生命周期322
7.1.3軟件支援環(huán)境325
7.2軟件詳細(xì)設(shè)計的表達(dá)326
7.2.1程序流程圖326
7.2.2NS圖327
7.2.3問題分析圖PAD329
7.2.4判定表329
7.2.5過程設(shè)計語言PDL330
7.3結(jié)構(gòu)化分析與設(shè)計方法331
7.3.1應(yīng)用軟件開發(fā)的原則和方法331
7.3.2結(jié)構(gòu)化分析方法332
7.3.3結(jié)構(gòu)化設(shè)計方法336
7.4測試與調(diào)試基本技術(shù)342
7.4.1測試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