出版時間:2005-4 出版社:科學出版社 作者:付百文 編 頁數(shù):198
前言
“數(shù)據(jù)結(jié)構(gòu)”是計算機類各專業(yè)的核心課程,也是其他諸多類專業(yè)的重要選修課,是程序設(shè)計的基礎(chǔ)。開設(shè)這門課可以為理解、應(yīng)用和開發(fā)程序提供技術(shù)和方法支持,為后續(xù)課程的學習提供思想和方法基礎(chǔ)。然而在多年的教學實踐中我們發(fā)現(xiàn),在實際的學習和應(yīng)用實踐中,很多同學認為“數(shù)據(jù)結(jié)構(gòu)”很難學,碰到實際問題不知從何處下手,缺乏針對性的實踐訓練是主要原因之一。本書就是為了解決“數(shù)據(jù)結(jié)構(gòu)”課程的實踐教學問題而編寫的,是作者多年教學經(jīng)驗的總結(jié)。本書有以下幾個方面的特點。①突出算法,淡化程序。強調(diào)設(shè)計思路、算法,描述算法的工具靈活多樣,對復雜的算法,給出圖形化的描述方式,使算法與編程語言相對獨立開來,從而使實現(xiàn)工具的編程語言可靈活自選。②注重題目的實用性和現(xiàn)實性。注重在相關(guān)課程和實際生活和學習中的應(yīng)用,題目生動、接近學習和生活實際,學生容易接受和理解,易調(diào)動學習積極性。多數(shù)問題一般都分成若干個要求,由淺入深,可根據(jù)具體情況完成部分或全部要求。③強調(diào)學生思考。實訓題目強調(diào)學生思考、理解和分析,多數(shù)題目都給出了思考和擴展空間,強調(diào)開放性思維。④以問題為中心。應(yīng)用基本知識,進行案例分析,指導學生理解、完成和拓展實訓題目,進一步理解和掌握數(shù)據(jù)結(jié)構(gòu)的基本知識,提高分析問題和解決問題的能力。根據(jù)實際學時、教學要求和實際情況,可以靈活選擇實訓項目。減少部分要求和難度,實訓項目既可以當做較為簡單的實驗,又可以當做綜合實訓。雖然本書的實訓案例是用c語言實現(xiàn)的,但讀者可以很容易地用其他編程語言實現(xiàn)。因為本書重點討論的是算法,所以本書也很適宜作為“程序設(shè)計”課程實踐的參考書。本書第1、7、8、9章由付百文編寫,第2、3章由祁宇翔編寫,第4章由季全芝編寫,第5章由張宇宏編寫,第6章由張冰峰編寫。付百文負責全書的統(tǒng)稿。在此感謝鮑宏、鮑有文、周海燕、彭濤對本書的編寫工作所給予的幫助和支持。由于作者水平有限,書中難免有疏漏和錯誤之處,敬請讀者批評指正。
內(nèi)容概要
本書包括實訓基礎(chǔ)知識介紹、線性表、棧和隊列、字符患 和多維數(shù)組、樹、圖、排序、查找以及綜合實訓等章節(jié)。在內(nèi)容安排上既有各章節(jié)的知識要點,又有案例解析、實訓項目,同時還有與實例相關(guān)的練習與思考題。實訓案例既有分析、設(shè)計和具體的解決方案,同時又提出了討論、思考和練習的題目。在算法描述上,盡量采用直觀的描述形式,如自然語言、圖形等,突出算法,淡化程序。案例和實訓項目既涵蓋知識點,又較貼近學習和實際生活。 本書可與用面向過程的各種語言描述的數(shù)據(jù)結(jié)構(gòu)教材配套使用,也可作為高職高專程序設(shè)計類專業(yè)的實驗實訓參考教材,同時也可供從事計算機工程與應(yīng)用的科技工作者參考。
書籍目錄
第1章 實訓基礎(chǔ)知識介紹 1.1 程序設(shè)計的一般步驟 1.2 算法的描述工具 1.2.1 圖表方式 1.2.2 語言方式 1.3 編輯程序 1.3.1 Windows下編輯程序 1.3.2 Turbl C下編輯程序 1.3.3 程序的風格 1.4 調(diào)試程序 1.4.1 常用的調(diào)試技術(shù) 1.4.2 常用的調(diào)試策略 1.5 實訓報告的主要內(nèi)容第2章 線性表 2.1 知識要點 2.1.1 順序表 2.1.2 單鏈表 2.1.3 循環(huán)單鏈表 2.1.4 雙鏈表 2.1.5 線性表存儲結(jié)構(gòu)的比較和選用 2.2 案例分析 2.2.1 體育彩票的模擬生成和兌獎 2.2.2 列車時刻表管理系統(tǒng) 2.2.3 信息的合并 2.3 實訓項目 2.3.1 學成成績管理 2.3.2 一元多項式的加法 2.3.3 求兩個集合的交集和并集 2.3.4 猴子選大王第3章 棧和隊列 3.1 知識要點 3.1.1 基本概念 3.1.2 棧的存儲實現(xiàn)和運算實現(xiàn) 3.1.3 隊列的存儲實現(xiàn)及運算實現(xiàn) 3.2 案例解析 3.2.1 數(shù)制轉(zhuǎn)換問題 3.2.2 利用棧實現(xiàn)迷宮問題的求解 3.2.3 利用隊隊求迷宮的最短路徑 3.3 實訓項目 3.3.1 表達式求值 3.3.2 表達式中括號的配對問題 3.3.3 八皇后問題 3.3.4 運動會比賽日程安排第4章 字符串和多維數(shù)組 4.1 知識要點 4.1.1 基本概念 4.1.2 串的存儲結(jié)構(gòu) 4.1.3 串的基本運算 4.1.4 數(shù)組的內(nèi)存映像 4.1.5 特殊矩陣的壓縮存儲 4.2 案例解析 4.2.1 文本的查找與替換 4.2.2 稀疏矩陣的加法 4.2.3 字符圖形的保存與輸出 4.3 實訓項目 4.3.1 字符串中年份的識別與分離 4.3.2 班級學期成績的管理與統(tǒng)計 4.3.3 稀疏矩陣的轉(zhuǎn)置 4.3.4 稀疏矩陣的乘法運算第5章 樹 5.1 知識要點 5.1.1 樹、二叉樹的基本概念 5.1.2 二叉樹的性質(zhì)及其存儲結(jié)構(gòu) 5.1.3 二叉樹的遍歷 5.1.4 樹的存儲結(jié)構(gòu) 5.2 案例解析 5.2.1 二叉家族樹的建立與輸出 5.2.2 求某個成員的所有祖先成員 5.2.3 哈夫曼編碼與譯碼 5.2.4 公司組織結(jié)構(gòu)樹的建立 5.3 實訓項目第6章 圖第7章 排序第8章 查找表第9章 綜合實訓參考文獻
章節(jié)摘錄
插圖:2.2.3 信息的合并1.案例描述小王喜歡交友,他把高中時的朋友的情況記在了一個小記錄本上,大學時的朋友的情況記在了另一個小記錄本上?,F(xiàn)在小王想把這兩本記錄合到一個大記錄本上。請幫忙設(shè)計算法,解決這個問題。假設(shè)人名中無同名現(xiàn)象。2.案例分析每個記錄本上的朋友列表就是一個線性表,記錄的合并就是兩個線性表的合并。對于兩個線性表中的不同記錄,都要復制到結(jié)果表中,而對于兩個線性表中相同的記錄,只復制一個到結(jié)果表中即可。由于通常的朋友列表都是按姓名排序的,因此也將表示朋友列表的線性表按朋友姓名組織成有序的,這樣也可以簡化、合并操作。由于本案例所涉及的兩個線性表和結(jié)果表的長度不易確定,表長變化較大,因此可以采用單鏈表表示各個線性表。
編輯推薦
《數(shù)據(jù)結(jié)構(gòu)實訓教程》為科學出版社出版發(fā)行。
圖書封面
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)實訓教程 PDF格式下載