出版時間:2005-8 出版社:科學(xué)出版社 作者:王國鈞 編 頁數(shù):153 字數(shù):376000
Tag標(biāo)簽:無
前言
數(shù)據(jù)結(jié)構(gòu)是計算機科學(xué)的算法理論基礎(chǔ)和軟件設(shè)計的技術(shù)基礎(chǔ),主要研究信息的邏輯結(jié)構(gòu)及其基本操作在計算機中的表示和實現(xiàn).因此,數(shù)據(jù)結(jié)構(gòu)不僅是計算機專業(yè)的一門核心課程,而且也是其他理工科專業(yè)的熱門選修課。學(xué)會分析研究計算機加工的數(shù)據(jù)對象的特性,能夠選擇合適的數(shù)據(jù)結(jié)構(gòu)、存儲結(jié)構(gòu)和相應(yīng)的算法并加以實現(xiàn),是計算機工作者和其他科技工作者不可缺少的知識和能力?! ”緯榻B了各種常用的數(shù)據(jù)結(jié)構(gòu)和它們在計算機中的存儲表示,討論了在這些數(shù)據(jù)結(jié)構(gòu)上的基本運算(操作)和實際的執(zhí)行算法,簡要介紹了算法的時間分析和空間分析的技巧,并闡述了各種常用數(shù)據(jù)結(jié)構(gòu)內(nèi)涵的邏輯關(guān)系?! ”緯?章.第1章為概論;第2章至第4章分別介紹了線性表、棧、隊列和串等幾種基本的數(shù)據(jù)結(jié)構(gòu),它們都屬于線性結(jié)構(gòu);第5章至第7章分別介紹了多維數(shù)組、廣義表、樹和圖等非線性結(jié)構(gòu);第8章和第9章分別介紹了查找和排序,它們都是數(shù)據(jù)處理時需要廣泛使用的技術(shù)?! ”緯钊霚\出地講解了理論知識,同時又重視實踐。每一章的開頭都配有本章要點和本章學(xué)習(xí)目標(biāo),每章最后配有本章小結(jié)和大量不同類型的習(xí)題。書中配有大量的例題和詳盡的注釋,自始至終使用C語言來描述算法和數(shù)據(jù)結(jié)構(gòu),各章的程序都在Turbo C或Visual C++6.0中調(diào)試通過,以方便讀者在計算機上進行實踐,有助于理解算法的實質(zhì)和基本思想?! ”緯勺鳛橛嬎銠C專業(yè)本科學(xué)生的教材,其內(nèi)容可以講授一個學(xué)期。將本書用作其他相關(guān)專業(yè)本科學(xué)生的教材,或用作計算機專業(yè)??茖W(xué)生的教材,或用作成人教育學(xué)員的教材時,建議講授教師根據(jù)實際情況適當(dāng)刪減教材內(nèi)容(帶“*”部分)。在整個教學(xué)過程中,除了理論教學(xué)以外,上機實踐是一個不可缺少的環(huán)節(jié),與本書配套的《數(shù)據(jù)結(jié)構(gòu)實踐教程》也將由科學(xué)出版社出版?! ×硗猓緯部晒氖掠嬎銠C應(yīng)用的工程技術(shù)人員參考,讀者只需掌握C語言編程的基本技術(shù)就可以學(xué)習(xí)本書?! ⒓颖緯帉懝ぷ鞯挠型鯂x、唐國民、蘇曉萍、馬瑜、嚴華云、侯向華、吳紅慶、李樹東、顏鴻林、吳杰宏等,全書最后由王國鈞統(tǒng)稿。
內(nèi)容概要
本書是為數(shù)據(jù)結(jié)構(gòu)課程編寫的教材,也可以作為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)及其算法的C語言程序設(shè)計的參考書。 本書系統(tǒng)地介紹了各種常用的數(shù)據(jù)結(jié)構(gòu)與算法方面的基本知識。全書共9章。第1章為概論,引入了數(shù)據(jù)結(jié)構(gòu)與算法的一些基本概念,是全書的綜述;第2章至第7章分別介紹了線性表、棧、隊列、串、 多維數(shù)組、廣義表、樹和圖等幾種基本的數(shù)據(jù)結(jié)構(gòu);第8章和第9章分別介紹了查找和排序的方法,它們都是數(shù)據(jù)處理時需要廣泛使用的技術(shù)。 本書可作為高等院校計算機及相關(guān)專業(yè)本科生的教材,也可作為專科和成人教育的教材,還可供從事計算機應(yīng)用的科技人員參考。與本書配套的《數(shù)據(jù)結(jié)構(gòu)實驗教程》也將由科學(xué)出版社出版。
書籍目錄
第1章 緒論 1.1 什么是數(shù)據(jù)結(jié)構(gòu) 1.1.1 數(shù)據(jù)和數(shù)據(jù)元素 1.1.2 數(shù)據(jù)對象和數(shù)據(jù)類型 1.1.3 數(shù)據(jù)結(jié)構(gòu) 1.2 為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu) 1.2.1 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的重要性 1.2.2 數(shù)據(jù)結(jié)構(gòu)的應(yīng)用舉例 1.3 算法和算法分析 1.3.1 什么是算法 1.3.2 算法的描述和設(shè)計 1.3.3 算法分析 本章小結(jié) 習(xí)題第2章 線性表 2.1 線性表的基本概念 2.1.1 線性表的定義 2.1.2 線性表的基本操作 2.2 線性表的順序存儲 2.2.1 順序表 2.2.2 順序表的基本操作 2.2.3 一個完整的例子(1) 1.3 線性表的鏈?zhǔn)酱鎯? 2.3.1 單鏈表的基本概念 2.3.2 單鏈表的基本操作 2.3.3 一個完整的例子(2) 2.3.4 循環(huán)鏈表 2.3.5 雙向鏈表 2.3.6 雙向循環(huán)鏈表 2.3.7 靜態(tài)鏈表 2.4 線性表順序存儲與鏈?zhǔn)酱鎯Φ谋容^ 2.5 線性表的應(yīng)用 2.5.1 約瑟夫問題 2.5.2 多項式加法 2.5.3 電文加密 本章小結(jié) 習(xí)題第3章 棧和隊列 3.1 棧 3.1.1 棧的定義與基本操作 3.1.2 順序棧的存儲結(jié)構(gòu)和操作的實現(xiàn) 3.1.3 鏈棧的存儲結(jié)構(gòu)和操作的實現(xiàn) 3.2 棧的應(yīng)用 3.2.1 數(shù)制轉(zhuǎn)換 3.2.2 括號匹配問題 3.2.3 子程序的調(diào)用 3.2.4 利用一個棧逆置一個帶頭結(jié)點的單鏈表 3.3 隊列 3.3.1 隊列的定義與基本操作 3.3.2 鏈隊列的存儲結(jié)構(gòu)和操作的實現(xiàn) 3.3.3 順序隊列的存儲結(jié)構(gòu)和操作的實現(xiàn) 3.4 隊列的應(yīng)用 3.4.1 打印楊輝三角形 3.4.2 迷宮問題:尋找一條從迷宮入口到出口的最短路徑 本章小結(jié) 習(xí)題第4章 串 4.1 串的定義和基本操作 4.1.1 串的定義 4.1.2 串的基本操作 4.2 串的表示和實現(xiàn) 4.2.1 串的定長順序存儲 4.2.2 串的堆存儲結(jié)構(gòu) 4.2.3 串的塊鏈存儲結(jié)構(gòu) 4.3 串的模式匹配算法 4.3.1 基本的模式匹配算法 4.3.2 模式匹配的改進算法——KMP算法 本章小結(jié) 習(xí)題第5章 多維數(shù)組和廣義表 5.1 多維數(shù)組 5.1.1 多維數(shù)組的定義 5.1.2 數(shù)組的存儲結(jié)構(gòu) ……第6章 樹和二叉樹第7章 圖第8章 查找第9章 排序主要參考文獻
章節(jié)摘錄
要求編寫一個電話號碼的查詢程序。對于任意給出的一個姓名,如果該人留有電話號碼,那么就找出他的電話號碼;否則就指出該人沒有電話號碼。要解決此問題,首先應(yīng)構(gòu)造一張電話號碼登記表,表中的每個結(jié)點存放姓名和電話號碼兩個數(shù)據(jù)項。設(shè)計的查找算法取決于該表的結(jié)構(gòu)及存儲方式。第一種算法是將表中結(jié)點順序地存儲在計算機中,查找時從頭開始依次核對姓名,若找到正確的姓名則可獲得其電話號碼,若找遍整個表均無所找的姓名,則表示該人無電話號碼。此算法對于一個人數(shù)不多的單位是可行的,但對一個大單位或城市來說是不實用的。第二種算法是將電話號碼登記表按姓氏排序,另外構(gòu)造一張姓氏索引表,存儲結(jié)構(gòu)如圖1.2所示。查找時首先在索引表中核對姓氏,然后根據(jù)索引表中的地址到電話號碼登記表中查對姓名,注意這時已經(jīng)不需要查找其他不同姓氏的名字了.相比之下,在新的結(jié)構(gòu)上產(chǎn)生的第二種查找算法比第一種算法更為有效。在第8章中將進一步討論查找策略?! 〖僭O(shè)需要在n個城市之間鋪設(shè)光纜,并且任意兩個城市之間都可以鋪設(shè)。大家知道,在n個城市之間只要鋪設(shè)n-1條光纜,即能將這n個城市連成網(wǎng)絡(luò)。只是由于地理位置的不同,所需經(jīng)費也不同,問題是采用什么樣的設(shè)計方案能使總投資最省。這個問題的數(shù)學(xué)模型是如圖1.3(a)所示的“圖”,圖中頂點表示城市,頂點之間的連線及其上面的數(shù)值表示可以鋪設(shè)的光纜及所需經(jīng)費。求解該問題的算法為:在可以鋪設(shè)的n條光纜中選取n一1條,使得既能連通n個城市,又使總投資最省。實際上,這是一個“求圖的最小生成樹”的問題,見圖1.3(b),將在第7章中進一步討論。 ……
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載