《計算機(jī)科學(xué)導(dǎo)論(原書第3版)》是大學(xué)計算機(jī)相關(guān)專業(yè)的基礎(chǔ)課教材,涉及計算機(jī)科學(xué)的各個方面。本書著重講解基本概念而不是數(shù)學(xué)模型和技術(shù)細(xì)節(jié),通過大量的圖表和演示范例講解計算機(jī)科學(xué)的基礎(chǔ)知識;每章后面的關(guān)鍵術(shù)語、小結(jié)和練習(xí)有助于讀者掌握和復(fù)習(xí)知識要點。本書內(nèi)容豐富,通熟易懂,既適合當(dāng)作大專院校的計算機(jī)基礎(chǔ)課教材,也可作為一般的計算機(jī)基礎(chǔ)入門讀物。
計算機(jī)在我們的日常生活中扮演了一個重要的角色,而且在未來也將一樣。計算機(jī)科學(xué)是一個充滿了挑戰(zhàn)和發(fā)展機(jī)遇的年輕學(xué)科。計算機(jī)網(wǎng)絡(luò)將處在地球上每一個角落的我們連接在一起。虛擬現(xiàn)實創(chuàng)造了炫目的三維圖像。宇宙空間探險的成功也部分歸功于計算機(jī)的發(fā)展。計算機(jī)創(chuàng)建的特技效果改變了電影行業(yè)。計算機(jī)在遺傳學(xué)研究中也扮演了一個重要的角色。
本書讀者對象這本書同時面向?qū)W術(shù)的和專業(yè)的讀者。本書可以作為感興趣的專業(yè)人士的自學(xué)指南。作為教材,本書包含一學(xué)期(semester)或一學(xué)季(quarter)的教學(xué)內(nèi)容,是計算機(jī)科學(xué)的入門教程。
本書是基于美國計算機(jī)學(xué)會( ACM)推薦的CSO課程設(shè)計的。它從廣度上覆蓋了計算機(jī)科學(xué)所有的領(lǐng)域。其他領(lǐng)域的學(xué)生需要對計算機(jī)科學(xué)有大致的了解時,無論是從本書中選讀部分內(nèi)容還是通讀全書,都有幫助。
第3版中的改動在本版中我進(jìn)行了以下幾類修改。
1.修訂的章節(jié)和附錄針對教學(xué)目的,對本書中的兩章和附錄進(jìn)行了全面的修訂。
(1)第6章為了更便于初次接觸計算機(jī)網(wǎng)絡(luò)的學(xué)生進(jìn)行理解,第6章的內(nèi)容采用自頂向下的教學(xué)方法進(jìn)行修訂。
(2)第16章1.章節(jié)章節(jié)的作用是提供基本的學(xué)習(xí)材料,但并不是書中的每一個章節(jié)都對學(xué)生有利用價值。教這門課的老師可以自主選擇教學(xué)用的章節(jié)。我們會在后面提供一份教學(xué)指南。
出版者的話
譯者序
前言
第1章緒論
1.1圖靈模型
1.1.1數(shù)據(jù)處理器
1.1.2可編程數(shù)據(jù)處理器
1.1.3通用圖靈機(jī)
1.2馮·諾依曼模型
1.2.1 4個子系統(tǒng)
1.2.2存儲程序概念
1.2.3 指令的順序執(zhí)行
1.3計算機(jī)組成部分
1.3.1計算機(jī)硬件
1.3.2數(shù)據(jù)
1.3.3計算機(jī)軟件
1.4歷史
1.4.1機(jī)械計算機(jī)器(1930年以前)
1.4.2 電子計算機(jī)的誕生(1930~
1950年)
1.4.3計算機(jī)的誕生(1950年至今)
1.5社會問題和道德問題
1.5.1社會問題
1.5.2道德問題
1.6計算機(jī)科學(xué)作為一門學(xué)科
1.7課程綱要
1.7.1 第一部分:數(shù)據(jù)的表示與運算
1.7.2第二部分:計算機(jī)硬件
1.7.3第三部分:計算機(jī)軟件
1.7.4第四部分:數(shù)據(jù)組織與抽象
1.7.5第五部分:高級話題
1.8章末材料
1.9練習(xí)
第2章數(shù)字系統(tǒng)
2.1引言
2.2位置化數(shù)字系統(tǒng)
2.2.1 十進(jìn)制系統(tǒng)(以10為底)
2.2.2二進(jìn)制系統(tǒng)(以2為底)
2.2.3 十六進(jìn)制系統(tǒng)(以16為底)
2.2.4八進(jìn)制系統(tǒng)(以8為底)
2.2.5 4種位置化數(shù)字系統(tǒng)的小結(jié)
2.2.6轉(zhuǎn)換
2.3非位置化數(shù)字系統(tǒng)
2.4章末材料
2.5練習(xí)
第3章數(shù)據(jù)存儲
3.1數(shù)據(jù)類型
3.2存儲數(shù)字
3.2.1存儲整數(shù)
3.2.2 3種系統(tǒng)的比較
3.2.3 實數(shù)
3.3存儲文本
3.4存儲音頻
3.4.1.采樣
3.4.2量化
3.4.3編碼
3.4.4聲音編碼標(biāo)準(zhǔn)
3.5存儲圖像
3.5.1光柵圖
3.5.2矢量圖
3.6存儲視頻
3.7章末材料
3.8練習(xí)
第4章數(shù)據(jù)運算
4.1邏輯運算
4.1.1位層次上的邏輯運算
6.7.1導(dǎo)向介質(zhì)
6.7.2非導(dǎo)向介質(zhì)
6.8章末材料
6.9練習(xí)
第7章操作系統(tǒng)
7.1引言
7.1.1操作系統(tǒng)
7.1.2自舉過程
7.2演化
7.2.1批處理系統(tǒng)
7.2.2分時系統(tǒng)
7.2.3個人系統(tǒng)
7.2.4并行系統(tǒng)
7.2.5分布式系統(tǒng)
7.2.6實時系統(tǒng)
7.3組成部分
7.3.1 用戶界面
7.3.2 內(nèi)存管理器
7.3.3進(jìn)程管理器
7.3.4 文件管理器
7.4主流操作系統(tǒng)
7.4.1 UNIX
7.4.2 Linux
7.4-3 WindOWS
7.5章末材料
7.6練習(xí)
第8章算法
8.1概念
8.1.1 非正式定義
8.1.2定義動作
8.1.3細(xì)化
8 .1.4泛化
8.2三種結(jié)構(gòu)
8.2.1順序
8.2.2一判斷
8.2.3循環(huán)
8.3算法的表示
8.3.1 UML
8.3.2偽代碼
8.4更正式的定義
8.4.1定義良好
8.4.2明確步驟
8.4.3產(chǎn)生結(jié)果
8.4.4在有限的時間內(nèi)終止
8.5基本算法
8.5.1求和
8.5.2乘積
8.5.3 最大和最小
8.5.4排序
8.5.5查找
8.6子算法
8.7遞歸
8.7.1迭代的定義
8.7.2遞歸的定義
8.8章末材料
8.9練習(xí)
第9章程序設(shè)計語言
9.1演化
9.1.1機(jī)器語言
9.1.2匯編語言
9.1.3 高級語言
9.2翻譯
9.2.1編譯
9.2.2解釋
9.2.3 翻譯過程
9.3編程模式
9.3.1過程式模式
9.3.2面向?qū)ο竽J?br />
9.3.3 函數(shù)式模式
9.3.4說明式模式
9.4共同概念
9.4.1標(biāo)識符
9.4.2數(shù)據(jù)類型
9.4.3語句
9.5章末材料
9.6練習(xí)
第10章軟件工程
10.1軟件生命周期
10.2分析階段
10.2.1 面向過程分析
10.2.2 面向?qū)ο蠓治?br />
10.3設(shè)計階段
10.3.1 面向過程設(shè)計
10.3.2 面向?qū)ο笤O(shè)計
10.4實現(xiàn)階段
10.4.1語言的選擇
10.4.2軟件質(zhì)量
10.5測試階段
10.5.1 白盒測試
10.5.2黑盒測試
10.6文檔
10.6.1用戶文檔
10.6.2 系統(tǒng)文檔
10.6.3技術(shù)文檔
10.7章末材料
10.8練習(xí) 一
第11章數(shù)據(jù)結(jié)構(gòu)
11.1數(shù)組
11.1.1數(shù)組名與元素名
11.1.2多維數(shù)組
11.1.3存儲配置
11.1.4數(shù)組操作
11.1.5數(shù)組的應(yīng)用
11.2記錄
11.2.1 記錄名與域名
11.2.2記錄與數(shù)組的比較
11.2.3記錄數(shù)組
11.2.4數(shù)組與記錄數(shù)組
11.3鏈表
11.3.1數(shù)組與鏈表
11.3.2鏈表名與節(jié)點名
11.3.3鏈表操作
11.3.4鏈表的應(yīng)用
11.4章末材料
11.5練習(xí)
第1 2章抽象數(shù)據(jù)類型
12.1背景
12.1.1 簡單抽象數(shù)據(jù)類型
12.1.2復(fù)雜抽象數(shù)據(jù)類型
12.1.3定義
12.1.4抽象數(shù)據(jù)類型的模型
12.1.5實現(xiàn)
12.2棧
12.2.1棧的操作
12.2.2棧的抽象數(shù)據(jù)類型
12.2.3棧的應(yīng)用
12.2.4棧的實現(xiàn)
12.3隊列
12.3.1 隊列的操作
12.3.2隊列抽象數(shù)據(jù)類型
12.3.3 隊列的應(yīng)用
12.3.4 隊列的實現(xiàn)
12.4廣義線性表
12.4.1 廣義線性表的操作
12.4.2廣義線性表的抽象數(shù)據(jù)類型
12.4.3 廣義線性表的應(yīng)用
12.4.4廣義線性表的實現(xiàn)
12.5樹
12.5.1二叉樹
12.5.2二叉樹的操作
12.5.3二叉樹的應(yīng)用
12.5.4二叉樹的實現(xiàn)
12.5.5二叉搜索樹
12.5.6二叉搜索樹的抽象數(shù)據(jù)
類型
12.5.7二叉搜索樹的實現(xiàn)
12.6 圖
12.7章末材料
12.8練習(xí)
第1 3章文件結(jié)構(gòu)
13.1引言
13.¨順序存取
13.1.2隨機(jī)存取
13.2順序文件
13.3索引文件
13.4散列文件
13.4.1散列方法
13.4.2沖突
13.5目錄
13.6文本文件與二進(jìn)制文件
13.6.1文本文件
13.6.2二進(jìn)制文件
13.7章末材料
13.8練習(xí)
第14章數(shù)據(jù)庫
14.1引言
14.1.1定義
14.1.2數(shù)據(jù)庫的優(yōu)點
14.1.3數(shù)據(jù)庫管理系統(tǒng)
14.2數(shù)據(jù)庫體系結(jié)構(gòu)
14.2.1 內(nèi)層
14.2.2概念層
14.2.3外層 一
14.3數(shù)據(jù)庫模型
14.3.1層次模型
14.3.2 網(wǎng)狀模型
14.3.3 關(guān)系模型
14.4關(guān)系數(shù)據(jù)庫模型
14.5關(guān)系的操作
14.5.1 結(jié)構(gòu)化查詢語言
14.5.2插入
14.5.3刪除
14.5.4更新
14.5.5選擇
14.5.6投影
14.5.7連接
14.5.8并
14.5.9交
14.5.10差
14.6數(shù)據(jù)庫設(shè)計
14.6.1 實體關(guān)系模型
14.6.2從E-R圖至0關(guān)系
14.6.3規(guī)范化
14.7其他數(shù)據(jù)庫模型
14.8章末材料
14.9練習(xí)
第1 5章數(shù)據(jù)壓縮
15.1引言
15.2無損壓縮
15.2.1 游程長度編碼
15.2.2赫夫曼編碼
15.2.3 LempelZiv編碼
15.3有損壓縮方法
15.3.1 圖像壓縮:JPEG-
15.3.2視頻壓縮:MPEG
15.3.3 音頻壓縮
15.4章末材料
15.5練習(xí)
第16章安全
16.1引言
16.1.1安全目標(biāo)
16.1.2攻擊
16.1.3服務(wù)和技術(shù)
16.2機(jī)密性
16.2.1 對稱密鑰密碼術(shù)
16.2.2非對稱密鑰密碼術(shù)
16.3其他安全服務(wù)
16.3.1 消息完整性
16.3.2消息驗證
16.3.3數(shù)字簽名
16.3.4實體驗證
16.3.5 密鑰管理
16.4防火墻
16.4.1 包過濾防火墻
16.4.2代理防火墻
16.5章末材料
16.6練習(xí)
第1 7章計算理論
17.1引言
?17.2簡單語言
17.2.1遞增語句
17.2.2遞減語句
17.2.3循環(huán)語句
17.2.4 簡單語言的威力
17.3圖靈機(jī)
17.3.1 圖靈機(jī)組成部件
17.3.2對簡單語言的模擬
17.3.3邱奇一圖靈論題
17.4歌德爾數(shù)
17.4.1表示一個程序
17.4.2翻譯一個數(shù)字
17.5停機(jī)問題
17.6問題的復(fù)雜度
17.6.1 不可解問題
17.6.2可解問題
17.7章末材料
17.8練習(xí)
第1 8章人工智能
18.1引言
18.1.1什么是人工智能
18.1.2人工智能簡史
18.1.3 圖靈測試
18.1.4智能體
18.1.5編程語言
18.2知識表示
18.2.1語義網(wǎng)
18.2.2框架
18.2.3謂詞邏輯
18.2.4基于規(guī)則的系統(tǒng)
18.3專家系統(tǒng)
18.3.1抽取知識
18.3.2抽取事實
18.3.3體系結(jié)構(gòu)
18.4感知 -
18.4.1圖像處理
18.4.2語言理解
18.5搜索 -
18.6神經(jīng)網(wǎng)絡(luò)
18.6.1 生物神經(jīng)元
18.6.2感知器
18.6.3多層網(wǎng)絡(luò)
18.6.4應(yīng)用
18.7章末材料
18.8練習(xí)
附錄A Unicode
附錄B UML
附錄C偽代碼
附錄D結(jié)構(gòu)圖
附錄E布爾代數(shù)和邏輯電路
附錄FC、C++和Java程序示例
附錄G數(shù)學(xué)知識
附錄H誤差檢測和校正
縮略語
術(shù)語表