定 價:48 元
叢書名:全國高等農業(yè)院校計算機類與電子信息類“十三五”規(guī)劃教材 , 高等農林教育“十三五”規(guī)劃教材
- 作者:石玉強,閆大順 編
- 出版時間:2017/2/1
- ISBN:9787565517563
- 出 版 社:中國農業(yè)大學出版社
- 中圖法分類:TP311.12
- 頁碼:285
- 紙張:膠版紙
- 版次:1
- 開本:16開
《數據結構與算法》在選材與編排上,貼近當前普通高等院!皵祿Y構與算法”課程的現(xiàn)狀和發(fā)展趨勢,符合新計算機專業(yè)研究生考試大綱,內容難度適中,突出數據結構的實用性和應用性!稊祿Y構與算法》闡述了各種典型數據結構的基本概念、邏輯結構、存儲結構以及相應各種操作!稊祿Y構與算法》共8章,內容包括緒論、線性表、棧和隊列、串、數組和廣義表、樹和二叉樹、圖、查找和排序等內容。每一章不僅有大量例題解析,還有豐富的習題。全書采用C/C++語言作為數據結構和算法的描述語言!稊祿Y構與算法》可作為普通高等院校計算機和信息技術相關專業(yè)“數據結構”課程的教材使用,也可以作為報考高等學校計算機專業(yè)碩士研究生入學考試的復習用書,同時還可以作為從事計算機系統(tǒng)軟件和應用軟件設計與開發(fā)人員的參考資料。
“數據結構與算法”是計算機程序設計的重要理論和實踐基礎,它不僅是計算機專業(yè)的核心課程,也是其他理工專業(yè)的重要選修課。在計算機的應用領域中,數據結構有著廣泛的應用。
本書共分8章,第1章介紹了數據結構的基本概念和算法分析的初步知識;第2章到第4章介紹了線性表、棧和隊列、串、數組和廣義表等線性結構的基本概念及常用算法;第5章和第6章介紹了非線性結構的樹、二叉樹、圖等數據結構的存儲結構和不同存儲結構上的一些操作的實現(xiàn);第7章介紹了各種查找表及查找方法;第8章介紹了各種內存及外存排序算法。本書計劃學時為80學時左右,其中上機實習為35學時左右。
本書是作者根據自己的教學經驗總結,為計算機類普通高等院校應用型本科學生編寫的教材。作者在教學過程中發(fā)現(xiàn),大多數學生在初學數據結構時,經常誤把算法的偽代碼作為完整函數直接在編譯器上進行運行測試。為了解決這個問題,本書采用C/C++語言描述數據結構和算法,并且對關鍵的算法都編寫了完整的C語言程序供學生上機實習參考。書中給出的每一個算法都是完整的,只要添加變量定義和主函數,程序即可運行,主函數編寫可以參考書中給出的案例程序,測試數據可以從需求分析獲得。
應用型本科院校面向應用、注重實踐,本書力求做到選材精練、敘述簡潔、通俗易懂,盡量避免抽象理論的介紹和復雜公式的推導。對各種數據結構均從實際出發(fā),通過對實例的分析,使學生理解數據結構的基本概念。
考慮到研究生入學考試和其他考試的需要,本書在每章后面帶有適量的習題,并配有習題參考答案,方便學生自學參考。另外,與本書配套的多媒體教學課件、實驗指導、習題參考答案均可從中國農業(yè)大學出版社網站下載,也可與作者聯(lián)系,聯(lián)系方式:yuqiangshi@163.com。
本書由石玉強、閆大順任主編,孫永新、吳志芳、王俊紅、曾憲貴、鄒瑩、王瀟、張世龍任副主編。本書第1章由張世龍、史婷婷編寫,第2章由石玉強編寫,第3章由閆大順編寫,第4章由鄒瑩、孫永新、王瀟編寫,第5章由吳志芳編寫,第6章由王俊紅編寫,第7章由顧春琴編寫,第8章由曾憲貴編寫,全書由石玉強、閆大順統(tǒng)一編排定稿。
參加本書編寫的還有劉磊安、楊靈、黃裕鋒、符志強、李晟、馮大春、趙愛芹、羅慧慧、黃洪波、杜淑琴、劉佳、張壘、連劍波、郭世仁、陳勇、鄭建華、賀超波、成筠、楊繼臣、吳霆、楊現(xiàn)麗等,他們對書稿提出了寶貴的意見,在此一并表示忠心的感謝!
由于作者水平有限,書中難免會有不足和錯誤之處,敬請廣大讀者批評指正。
第1章 緒論
1.1 數據結構的研究內容
1.2 基本概念和術語
1.2.1 數據、數據元素、數據項和數據對象
1.2.2 數據結構
1.2.3 數據類型和抽象數據類型
1.3 算法和算法分析
1.3.1 算法的定義及特性
1.3.2 算法評價的基本標準
1.3.3 算法的時間復雜度
1.3.4 算法的空間復雜度
小結
習題1
第2章 線性表
2.1 線性表的類型定義
2.1.1 線性表的定義
2.1.2 線性表的抽象數據類型描述
2.2 線性表的順序存儲結構
2.2.1 線性表的順序存儲表示
2.2.2 順序表中基本運算的實現(xiàn)
2.2.3 順序表的特點
2.2.4 案例分析與實現(xiàn)
2.3 線性表的鏈式存儲結構
2.3.1 線性表的鏈式存儲表示
2.3.2 線性表基本運算在單鏈表中的實現(xiàn)
2.3.3 循環(huán)鏈表
2.3.4 雙向鏈表
2.3.5 靜態(tài)鏈表
2.3.6 案例分析
小結
習題2
第3章 棧和隊列
3.1 棧和隊列的定義和特點
3.1.1 棧的定義和特點
3.1.2 隊列的定義和特點
3.2 棧的表示和操作實現(xiàn)
3.2.1 棧的抽象類型定義
3.2.2 順序棧的表示和實現(xiàn)
3.2.3 鏈棧的表示和實現(xiàn)
3.2.4 案例分析與實現(xiàn)
3.3 棧與遞歸
3.3.1 采用遞歸算法解決的問題
3.3.2 遞歸過程與遞歸工作棧
3.3.3 遞歸算法的效率分析
3.3.4 將遞歸轉換為非遞歸的方法
3.4 隊列的表示和操作實現(xiàn)
3.4.1 隊列的抽象類型定義
3.4.2 循環(huán)隊列——隊列的順序表示和實現(xiàn)
3.4.3 鏈隊——隊列的鏈式表示和實現(xiàn)
3.4.4 其他隊列
3.5 典型棧和隊列案例分析與實現(xiàn)
3.5.1 棧的典型案例
3.5.2 隊列的典型案例
小結
習題3
第4章 串、數組和廣義表
4.1 串的定義
4.1.1 串的定義
4.1.2 串的抽象數據類型描述
4.2 串的存儲結構及其運算
4.2.1 串的定長順序存儲結構
4.2.2 串的堆分配存儲結構
4.2.3 串的塊鏈存儲結構
4.2.4 串的模式匹配算法
4.3 數組
4.3.1 數組的類型定義
4.3.2 數組的順序存儲
4.3.3 特殊矩陣的壓縮存儲
4.4 廣義表
……
第5章 樹和二叉樹
第6章 圖
第7章 查找
第8章 排序
附錄A C語言常用語法提要
附錄B C語言常用庫函數
附錄C 實驗報告模板
參考文獻