《計算機軟件技術基礎(第2版)/高等教育規(guī)劃教材》是在全國教育科學“十一五”規(guī)劃課題《應用型大學發(fā)展與學科專業(yè)建設研究》教學研究成果的基礎上,基于北京市高等教育精品教材建設項目和校本科規(guī)劃教材建設項目的建設成果,根據(jù)高等院校非計算機專業(yè)對計算機軟件技術的知識要求,結合多年的教學和實踐經驗集體編寫而成的。
全書共分10章,內容包括計算機軟件基礎概論、數(shù)據(jù)結構概述、數(shù)據(jù)的線性結構、樹、圖、查找、內部排序、操作系統(tǒng)、軟件工程和數(shù)據(jù)庫技術的基礎知識。附錄中結合理論知識,編寫了實用的實驗案例,供讀者參考。
《計算機軟件技術基礎(第2版)/高等教育規(guī)劃教材》講解清晰,內容系統(tǒng),實例豐富,既可作為高等院校本、?朴嬎銠C軟件技術基礎教材,又可作為各類計算機應用人員或相關人員的技術參考書。
注重實踐性和應用性,強調培養(yǎng)學生的實踐應用能力。結合案例教學的特點將抽象理論具體化,加深學生對知識的理解。
隨著計算機應用領域的擴大和深入,工程技術人員掌握必要的計算機軟件技術基礎知識成為提高計算機應用水平的重要途徑之一。
本次修訂根據(jù)高等院校非計算機專業(yè)對計算機軟件技術的知識要求,在知識內容、邏輯體系的優(yōu)化、知識關聯(lián)度、實例程序的統(tǒng)一調試等方面做了進一步的完善。
全書共分10章,內容涉及與計算機軟件有關的基礎知識和一些常用的系統(tǒng)軟件。第1章計算機軟件技術基礎概論,主要介紹了計算機軟件技術基礎概論的相關知識;第2章數(shù)據(jù)結構概述,主要介紹了數(shù)據(jù)結構的概念、數(shù)據(jù)的邏輯結構與存儲結構、數(shù)據(jù)類型與抽象數(shù)據(jù)類型、算法的概念、時間和空間復雜度以及算法的描述方法;第3章線性結構,主要介紹了線性表順序存儲的基礎知識及運算,線性鏈表基本概念和結構特征及其操作運算,堆棧、隊列的基本概念和結構特征及其應用,其他線性結構的存儲結構與應用實例;第4章樹和第5章圖,主要介紹了非線性數(shù)據(jù)結構樹和圖的基本知識與相關應用;第6章查找,主要介紹了查找的一些基本方法;第7章內部排序,主要介紹了排序的基本概念、內部排序的主要算法及時空效率分析,最后通過實例講解了相關內容;第8章操作系統(tǒng),主要介紹了操作系統(tǒng)的工作原理;第9章軟件工程,主要介紹了軟件工程的相關知識;第10章數(shù)據(jù)庫技術,主要介紹了數(shù)據(jù)庫原理和應用;附錄軟件技術基礎實驗,提供了課程實踐的相關內容。
本書的主要特色:
1)注重基礎知識的講解,內容由淺入深,重點與難點突出,主要知識內容各部分既相互獨立,又存在必要的聯(lián)系。重點講授軟件基本原理、技術、方法和工具。
2)按照國家對應用型人才培養(yǎng)的要求,注重實踐性和應用性,強調培養(yǎng)學生的實踐應用能力。結合案例教學的特點將抽象理論具體化,加深學生對知識的理解。本書選用最常用的C語言,適合于各類工程技術人員學習和實踐。
3)滿足學生深造的需求,在深入研究工學類、管理學類、理學類、經濟學類等學科大類領域的計算機基礎知識和計算機應用能力的需求基礎上,本書重點突出和完善數(shù)據(jù)結構、數(shù)據(jù)庫技術和軟件工程應用等相關知識內容,為學生進一步深造打下良好的基礎。
本書第1~4章、第6~7章由李平、胡立栓編寫,第5、10章由王秀英編寫,第8章由胡立栓、王育平編寫,第9章由孫雪編寫,附錄由胡立栓編寫。全書由李平、胡立栓統(tǒng)稿。
由于時間倉促,書中難免有疏漏之處,懇請各位讀者批評指正。
出版說明
前言
第1章 計算機軟件技術基礎概論
1.1 計算機基礎
1.1.1 計算機的發(fā)展概況
1.1.2 計算機的基本組成
1.1.3 計算機的應用
1.2 計算機軟件基礎
1.2.1 計算機軟件的基本概念
1.2.2 計算機語言
1.3 計算機軟件技術的發(fā)展
1.4 軟件的設計方法
1.5 程序設計的基本算法與應用
1.5.1 迭代法與應用
1.5.2 遞推法與應用
1.5.3 遞歸法與應用
1.5.4 窮舉法與應用
1.5.5 回溯法與應用
1.5.6 貪婪法與應用
1.5.7 分治法與應用
1.6 習題
第2章 數(shù)據(jù)結構概述
2.1 數(shù)據(jù)結構基本知識
2.1.1 數(shù)據(jù)結構的概念
2.1.2 數(shù)據(jù)的邏輯結構與存儲結構
2.1.3 數(shù)據(jù)類型與抽象數(shù)據(jù)類型
2.2 算法分析
2.2.1 算法的概念
2.2.2 時間復雜度和空間復雜度的概念
2.2.3 算法的描述
2.3 習題
第3章 線性結構
3.1 線性表順序存儲及運算
3.1.1 線性表的基本概念
3.1.2 順序表的基本概念和結構特征
3.1.3 順序表的算法
3.1.4 順序表算法編程實例
3.2 棧及其應用
3.2.1 棧的基本概念和結構特征
3.2.2 棧的基本運算
3.2.3 棧的應用
3.3 隊列及其應用
3.3.1 隊列的基本概念和結構特征
3.3.2 隊列的基本運算
3.3.3 隊列的應用
3.4 線性鏈表及其運算
3.4.1 鏈表的基本概念和結構特征
3.4.2 單鏈表
3.4.3 線性鏈表算法編程實例
3.5 其他線性結構
3.5.1 串的定義和串的存儲方式
3.5.2 定長順序串運算
3.5.3 二維數(shù)組的結構特點和存儲方式
3.5.4 矩陣和特殊矩陣元素的存儲結構與應用實例
3.5.5 稀疏矩陣的壓縮存儲方式和簡單運算實例
3.6 習題
第4章 樹
4.1 樹的概念
4.1.1 樹結構數(shù)據(jù)舉例
4.1.2 樹的定義
4.1.3 樹的基本術語
4.2 二叉樹的基本概念和主要性質
4.2.1 二叉樹的基本概念
4.2.2 二叉樹的主要性質
4.3 二叉樹的存儲
4.3.1 順序存儲方式
4.3.2 鏈式存儲方式
4.4 二叉樹的遍歷
4.4.1 二叉樹遍歷的概念
4.4.2 二叉樹遍歷的算法
4.4.3 二叉樹遍歷算法應用舉例
4.5 二叉樹的應用
4.6 樹與森林
4.6.1 樹的存儲方法
4.6.2 樹和森林與二叉樹的轉換
4.6.3 樹與森林的遍歷
4.7 習題
第5章 圖
5.1 圖的基本概念
5.2 圖的存儲結構
5.2.1 鄰接矩陣
5.2.2 鄰接表
5.3 圖的遍歷
5.3.1 深度優(yōu)先搜索
5.3.2 廣度優(yōu)先搜索
5.4 圖的應用
5.4.1 生成樹和最小生成樹
5.4.2 最短路徑
5.4.3 AOV網與拓撲排序
5.5 習題
第6章 查找
6.1 查找的基本概念
6.1.1 查找的相關概念
6.1.2 查找的基本思想
6.2 查找方法和算法
6.2.1 順序查找
6.2.2 有序表的二分查找
6.2.3 分塊查找
6.3 二叉排序樹的查找算法
6.3.1 二叉排序樹的基本概念
6.3.2 二叉排序樹的運算
6.4 散列表查找
6.4.1 散列表的基本概念
6.4.2 常用的散列函數(shù)的構造方法
6.4.3 處理沖突的方法
6.5 習題
第7章 內部排序
7.1 排序的基本思想和基本概念
7.2 內部排序的主要算法及時空效率分析
7.2.1 直接插入排序
7.2.2 希爾排序
7.2.3 冒泡排序
7.2.4 直接選擇排序
7.2.5 歸并排序
7.2.6 快速排序
7.2.7 堆排序
7.3 內部排序實例
7.4 習題
第8章 操作系統(tǒng)
8.1 操作系統(tǒng)的形成與發(fā)展
8.1.1 "手工操作"階段
8.1.2 聯(lián)機批處理
8.1.3 脫機批處理
8.1.4 執(zhí)行系統(tǒng)
8.2 操作系統(tǒng)的定義、 特征和功能
8.2.1 操作系統(tǒng)的定義
8.2.2 操作系統(tǒng)的特征
8.2.3 操作系統(tǒng)的功能
8.3 操作系統(tǒng)的分類
8.3.1 批處理操作系統(tǒng)
8.3.2 分時操作系統(tǒng)
8.3.3 實時操作系統(tǒng)
8.3.4 網絡操作系統(tǒng)
8.3.5 分布式操作系統(tǒng)
8.4 處理機管理
8.4.1 多道程序設計的概念
8.4.2 進程的概念
8.4.3 進程的并發(fā)控制
8.4.4 進程通信
8.4.5 死鎖
8.5 存儲管理
8.5.1 存儲管理概述
8.5.2 地址重定位
8.5.3 實存儲器管理技術
8.5.4 虛擬存儲管理技術
8.6 文件管理
8.6.1 文件系統(tǒng)概述
8.6.2 文件的結構
8.6.3 文件目錄
8.6.4 存儲空間的分配
8.7 習題
第9章 軟件工程
9.1 軟件工程概述
9.1.1 軟件工程的形成和發(fā)展
9.1.2 軟件工程的內容和目的
9.1.3 軟件生命周期
9.1.4 軟件過程模型
9.2 軟件的需求定義
9.2.1 軟件可行性研究
9.2.2 需求分析定義概述
9.2.3 結構化分析方法
9.2.4 數(shù)據(jù)流圖
9.2.5 數(shù)據(jù)字典
9.2.6 加工規(guī)格說明
9.3 軟件設計
9.3.1 軟件設計概述
9.3.2 軟件設計原則
9.3.3 軟件設計方法
9.4 軟件編程
9.4.1 軟件編程概述
9.4.2 軟件編程風格
9.5 軟件測試
9.5.1 軟件測試概述
9.5.2 測試用例的設計
9.5.3 軟件測試步驟
9.6 軟件維護
9.7 習題
第10章 數(shù)據(jù)庫技術
10.1 數(shù)據(jù)庫系統(tǒng)概述
10.1.1 數(shù)據(jù)管理技術的產生和發(fā)展
10.1.2 數(shù)據(jù)庫系統(tǒng)基本術語
10.1.3 數(shù)據(jù)模型
10.2 關系數(shù)據(jù)庫基本理論
10.2.1 關系的定義
10.2.2 關系模型的常用術語
10.2.3 關系代數(shù)
10.2.4 關系的完整性
10.3 數(shù)據(jù)庫系統(tǒng)結構
10.3.1 數(shù)據(jù)庫的三級模式
10.3.2 數(shù)據(jù)庫的兩級映像
10.4 數(shù)據(jù)庫設計
10.4.1 數(shù)據(jù)庫設計過程
10.4.2 需求分析
10.4.3 概念結構設計
10.4.4 邏輯結構設計
10.4.5 物理結構設計
10.4.6 數(shù)據(jù)庫實施
10.4.7 數(shù)據(jù)庫運行與維護
10.5 關系模式的規(guī)范化
10.5.1 問題的提出
10.5.2 函數(shù)依賴和鍵
10.5.3 關系模式的范式與規(guī)范化
10.6 SQL Server使用初步
10.6.1 SQL Server的管理工具和使用方法
10.6.2 數(shù)據(jù)庫中主要對象
10.6.3 SQL 初步
10.7 習題
附錄 軟件技術基礎實驗
實驗一 斐波那契數(shù)列的實現(xiàn)算法及分析
實驗二 順序表的實現(xiàn)和應用
實驗三 鏈表的實現(xiàn)和應用
實驗四 棧的實現(xiàn)和應用
實驗五 二叉樹的創(chuàng)建和遍歷
實驗六 哈夫曼樹及哈夫曼編碼
實驗七 查找算法的實現(xiàn)
實驗八 內部排序算法的實現(xiàn)
實驗九 數(shù)據(jù)庫應用
參考文獻