出版時間:2002-9 出版社:高等教育出版社 作者:張乃孝 頁數(shù):359 字數(shù):440000
Tag標簽:無
前言
關于算法的研究已經(jīng)有數(shù)千年的歷史。計算機的出現(xiàn),使得用機器自動解題的夢想成為現(xiàn)實,人們可以將算法編寫成程序交給計算機執(zhí)行,使許多原來認為不可能完成的算法變得實際可行。數(shù)據(jù)結構的概念最早由C.A.R.Hoare和N.Wirth在1966年提出。大量關于程序設計理論的研究表明:對大型復雜程序的構造進行系統(tǒng)而科學的研究,必須對這些程序中所包含的數(shù)據(jù)結構進行深入的研究。事實上,程序就是在數(shù)據(jù)的某些特定的結構和表示的基礎上對于算法的描述。不清楚解決問題的算法就無法決定如何組織數(shù)據(jù),反之算法的實現(xiàn)又在很大程度上依賴于數(shù)據(jù)的具體組織。簡言之,算法與數(shù)據(jù)結構是程序設計中相輔相成、不可分割的兩個方面。因此,1976年N.Wirth用“算法+數(shù)據(jù)結構=程序”這個公式表達了算法與數(shù)據(jù)結構的聯(lián)系和它們在程序中的地位?! 〕橄髷?shù)據(jù)類型起源于20世紀70年代,可以定義成:有一定行為(操作)的抽象(數(shù)學)類型。它抽象出數(shù)據(jù)類型的使用要求,而把它的具體表示方式和運算的實現(xiàn)細節(jié)都隱藏起來。它支持數(shù)據(jù)類型的實現(xiàn)與使用分離的原則,是一種十分有效的對問題進行抽象與分解的思維工具,后來發(fā)展成為面向?qū)ο蠹夹g與方法的主要理論基礎。? 從抽象數(shù)據(jù)類型的觀點出發(fā),數(shù)據(jù)結構可以理解成為“抽象數(shù)據(jù)類型的物理實現(xiàn)”。對于數(shù)據(jù)結構的學習和研究,主要圍繞兩個問題:一個是如何具體表示抽象數(shù)據(jù)類型中的數(shù)學模型;另一個是如何給出抽象數(shù)據(jù)類型中需要的操作的具體實現(xiàn)。用上述觀點,可以從更加抽象的角度理解數(shù)據(jù)結構與算法的關系,也容易解釋數(shù)據(jù)的邏輯結構、存儲結構與運算的三者關系。? 目的與動機? “數(shù)據(jù)結構”(或稱“數(shù)據(jù)結構與算法”或“算法與數(shù)據(jù)結構”)是計算機科學的基礎課程,它被獨立列入大學本科的教學計劃有30多年的歷史。其主要目的是使讀者全面地理解數(shù)據(jù)結構和算法的概念、掌握設計數(shù)據(jù)結構與算法的主要原理和方法、比較不同數(shù)據(jù)結構和算法的特點。通過學習和實踐,提高學生使用計算機解決問題的能力。? 1998年,北京大學把“算法與數(shù)據(jù)結構”作為第一批理科各系主干基礎課列入學校的教學計劃。經(jīng)北大信息學院和數(shù)學學院共同推薦,著者連續(xù)六年被校長聘任為該課程的全校主持人,負責組織理科各院系的主講老師制定教學大綱、編寫教材和教學輔導用書、交流教學經(jīng)驗等工作?! ”緯牡谝话婢褪窃谶@個背景下,邀請了北大物理學院、化學學院和計算中心的幾位主講老師與著者共同編寫的。從2000年開始,本書作為北京大學主干課“算法與數(shù)據(jù)結構”的教材在校內(nèi)試用,2002年得以在高等教育出版社正式出版,并得到廣大校內(nèi)外老師和學生的支持和鼓勵,被評為“2004年北京市高等教育精品教材”。為了回報廣大讀者,使得這本書能夠更上一個臺階,成為過得硬的“精品”教材,在高等教育出版社的大力支持下,著者決定認真修改后出此新版。?
內(nèi)容概要
本書以數(shù)據(jù)結構為主線,算法為輔線組織教學內(nèi)容。全書共分10章:緒論、線性表、字符串、棧與隊列、二叉樹與樹、集合與字典、高級字典結構、排序、圖和算法分析與設計。本書體系完整,概念清楚,內(nèi)容充實,取材適當。第一版在2004年被評為“北京市高等教育精品教材”。 這次再版,采用“數(shù)據(jù)結構作為抽象數(shù)據(jù)類型的物理實現(xiàn)”觀點,在內(nèi)容和形式上都進行了許多改進和擴充。提高了抽象數(shù)據(jù)類型在教學中的地位和作用;更加突出了重點,提高了全書的可讀性,還補充了習題,增加了索引。 由于在編寫中注意到知識模塊的獨立性和相關性,不同專業(yè)和不同水平的學生可以根據(jù)需要組合使用。本書既可以作為信息與計算機專業(yè)大學本科的“數(shù)據(jù)結構”教材,也可以作為一般理工科專業(yè)本科和計算機專業(yè)專科學生學習相關課程的教材或教學參考書。
書籍目錄
1 緒論 1.1 從問題到程序 1.1.1 問題分析與抽象 1.1.2 程序的設計與實現(xiàn) 1.2 抽象數(shù)據(jù)類型 1.2.1 什么是抽象數(shù)據(jù)類型 1.2.2 意義與作用 1.2.3 舉例 1.3 數(shù)據(jù)結構 1.3.1 什么是數(shù)據(jù)結構 1.3.2 數(shù)據(jù)結構的分類 1.3.3 結點與結構 1.3.4 外存數(shù)據(jù)的組織 1.4 算法 1.4.1 什么是算法 1.4.2 算法的設計 1.4.3 算法的精化 1.4.4 算法的分析 小結 習題2 線性表 2.1 基本概念與抽象數(shù)據(jù)類型 2.1.1 基本概念 2.1.2 抽象數(shù)據(jù)類型 2.2 順序表示 2.2.1 存儲結構 2.2.2 運算的實現(xiàn) 2.2.3 分析與評價 2.2.4 順序表空間的擴展 2.3 鏈接表示 2.3.1 單鏈表表示 2.3.2 單鏈表上運算的實現(xiàn) 2.3.3 分析與比較 2.3.4 單鏈表的改進和擴充 2.4 應用舉例 2.4.1 Josephus問題 2.4.2 采用順序表模擬 2.4.3 采用循環(huán)鏈表模擬 2.5 矩陣 2.5.1 矩陣的順序表示 2.5.2 稀疏矩陣的表示方法 2.6 廣義表與動態(tài)存儲管理 2.6.1 廣義表 2.6.2 結點的動態(tài)分配與回收 2.6.3 廢料收集與存儲壓縮 小結 習題3 字符串 3.1 字符串及其抽象數(shù)據(jù)類型 3.1.1 基本概念 3.1.2 抽象數(shù)據(jù)類型 3.2 字符串的實現(xiàn) 3.2.1 順序表示 3.2.2 鏈接表示 3.3 模式匹配 3.3.1 樸素的模式匹配 3.3.2 無回溯的模式匹配 小結 習題4 線與隊列5 二叉樹與樹6 集合與字典7 高級字典結構8 排序9 圖10 算法分析與設計參考文獻索引算法清單后記
編輯推薦
《算法與數(shù)據(jù)結構:C語言描述(第2版)》以數(shù)據(jù)結構為主線,算法為輔線組織教學內(nèi)容。全書共分10章:緒論、線性表、字符串、棧與隊列、二叉樹與樹、集合與字典、高級字典結構、排序、圖和算法分析與設計?!端惴ㄅc數(shù)據(jù)結構:C語言描述(第2版)》體系完整,概念清楚,內(nèi)容充實,取材適當。第一版在2004年被評為“北京市高等教育精品教材”。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載