數(shù)據(jù)結構

出版時間:2009-4  出版社:化學工業(yè)出版社  作者:李素若 等編著  頁數(shù):273  字數(shù):438000  

內(nèi)容概要

本書介紹了數(shù)據(jù)結構的基本概念和基本算法。全書共11章,主要內(nèi)容包括:緒論、線性表、棧和隊列、串、數(shù)組和廣義表、樹、圖、查找、內(nèi)排、文件和上機實驗等。全書內(nèi)容深入淺出,條理清晰,概念清楚,邏輯推理嚴謹,內(nèi)容翔實,既注重數(shù)據(jù)結構和算法原理,又十分強調(diào)程序設計訓練。書中算法都配有完整的C程序,程序結構清晰,構思精巧,所有程序都已在Win-TC2.0下編譯通過并能正確運行,它們既是學習數(shù)據(jù)結構和算法的很好示例,也是很好的程序設計示例。本書配有大量的實例和圖示,并有豐富的習題,適于自學。    本書是供普通高等院校計算機科學與技術專業(yè)本、??茖W生使用的教材,也可供從事計算機工作者和其他希望學習數(shù)據(jù)結構的人員參考。

書籍目錄

第1章  緒論  1.1  什么是數(shù)據(jù)結構  1.2  基本概念和常用術語  1.3  數(shù)據(jù)抽象和抽象數(shù)據(jù)類型    1.3.1  數(shù)據(jù)抽象    1.3.2  抽象數(shù)據(jù)類型    1.3.3  抽象數(shù)據(jù)類型描述和實現(xiàn)  1.4 算法和算法分析    1.4.1  算法及其性能標準    1.4.2  算法時間復雜度和漸近時間復雜度    1.4.3  算法的空間復雜度  小結  習題第2章 線性表  2.1 線性表概念  2.2  線性表的順序表示和實現(xiàn)    2.2.1  線性表的順序存儲結構    2.2.2  線性表在順序存儲結構下的運算  2.3  線性表的鏈式表示和實現(xiàn)    2.3.1  線性鏈表    2.3.2  循環(huán)鏈表    2.3.3  雙向循環(huán)鏈表    2.3.4  順序表和鏈表的比較  2.4  一元多項式的表示及相加 小結 習題第3章  棧和隊列  3.1  棧    3.1.1  棧的定義及其運算    3.1.2  順序棧    3.1.3  多棧共享鄰接空間    3.1.4  鏈棧    3.1.5  棧的應用舉例    3.1.6  棧與遞歸的實現(xiàn)  3.2  隊列    3.2.1  隊列的定義    3.2.2順序隊列    3.2.3  鏈隊列    3.2.4  隊列應用舉例  小結  習題第4章  串  4.1  串的類型定義  4.2  串的定長順序存儲  4.3  串的堆存儲結構    4.3.1  串名存儲映像    4.3.2  堆存儲結構    4.3.3  基于堆結構的基本運算  4.4  串的塊鏈存儲結構  4.5  模式匹配  4.6  串的應用舉例——正文編輯  小結  習題第5章  數(shù)組和廣義表  5.1  數(shù)組類型的定義  5.2  數(shù)組順序存儲和實現(xiàn)  5.3  矩陣壓縮存儲    5.3.1  對稱矩陣    5.3.2  三角矩陣    5.3.3  帶狀矩陣  5.4  稀疏矩陣    5.4.1  稀疏矩陣三元組表存儲    5.4.2  稀疏矩陣十字鏈表存儲    5.5  廣義表    5.5.1  廣義表的定義和基本運算    5.5.2  廣義表的存儲    5.5.3  廣義表基本操作的實現(xiàn)  小結  習題第6章  樹  6.1  樹的基本概念    6.1.1  樹的定義    6.1.2 樹的邏輯表示方法    6.1.3  樹的基本術語  ……第7章 圖第8章 查找第9章 內(nèi)排序第10章 文件第11章 上機實驗題參考文獻

章節(jié)摘錄

  第1章 緒論  “數(shù)據(jù)結構”作為一門獨立的課程在國外是從1968年才開始設立的。在這之前,它的某些內(nèi)容曾在其他課程,如表處理語言中有所闡述。1968年在美國一些大學的計算機系的教學計劃中,雖然把數(shù)據(jù)結構規(guī)定為一門課程,但對課程的范圍仍沒有作明確規(guī)定。當時,數(shù)據(jù)結構幾乎和圖論,特別是和表、樹的理論為同義語。隨后,數(shù)據(jù)結構這個概念擴充到包括網(wǎng)絡、集合代數(shù)論、格、關系等方面,從而變成了現(xiàn)在稱之為“離散結構”的內(nèi)容。然而,由于數(shù)據(jù)必須在計算機中進行處理,因此,不僅考慮數(shù)據(jù)本身的數(shù)學性質(zhì),還必須考慮數(shù)據(jù)的存儲結構,這就進一步擴大了數(shù)據(jù)結構的內(nèi)容。近年來,隨著數(shù)據(jù)庫系統(tǒng)的不斷發(fā)展,在“數(shù)據(jù)結構”課程中又增加了文件管理(特別是大型文件的組織等)的內(nèi)容?! ?968年美國唐.歐??伺亟淌陂_創(chuàng)了數(shù)據(jù)結構的最初體系,他所著的《計算機程序設計》第一卷《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結構和存儲結構及其操作的著作,從20世紀60年代末到70年代初,出現(xiàn)了大型程序,軟件也相對獨立,結構程序設計成為程序設計方法學的主要內(nèi)容,人們就越來越重視數(shù)據(jù)結構,并認為程序設計的實質(zhì)是對確定的問題選擇一種好的結構,加上設計一種好的算法。從20世紀60年代中期到80年代初,各種版本的數(shù)據(jù)結構著作相繼出現(xiàn)?! ∧壳?,在我國數(shù)據(jù)結構已經(jīng)不僅僅是計算機專業(yè)教學計劃中的核心課程之一,也是其他非計算機專業(yè)的主要選修課程之一?! ?.1 什么是數(shù)據(jù)結構  什么是數(shù)據(jù)結構?這是一個難以直接回答的問題。一般來說,用計算機解決一個具體問題時,大致需要經(jīng)過下列幾個步驟:首先要從具體問題中抽象出一個適當?shù)臄?shù)學模型,然后設計一個解此數(shù)學模型的算法(algorithm),最后編出程序、進行測試、調(diào)整直至得到最終解答。尋求數(shù)學模型的實質(zhì)是分析問題,從中提取操作的對象,并找出這些操作對象之間含有的關系,然后用數(shù)學的語言加以描述。為了說明這個問題,首先舉一個例子,然后再給出明確的含義。 假定有一個學生通訊錄,記錄了某校全體學生的姓名和相應住址,現(xiàn)在要寫一個算法,要求當給定任何一個學生的姓名時,該算法能夠查出該學生的住址。這樣一個算法的設計將完全取決于通訊錄中的學生姓名及相應的住址是如何組織的,以及計算機是怎樣存儲通訊錄中的信息的。 如果通訊錄中的學生姓名是隨意排列的,其次序沒有任何規(guī)律,那么當給定一個姓名時,則只能對通訊錄從頭開始逐個與給定的姓名比較,順序查對,直至找到所給定的姓名為止。這種方法相當費時間,效率很低。然而,若我們對學生通訊錄進行適當?shù)慕M織,按學生所在班級來排列,并且再造一個索引表,這個表用來登記每個班級學生姓名在通訊錄中的起始位置。這樣一來,情況將大為改善。這時,當要查找某學生的住址時,則可先從索引表中查到該學生所在班級的學生姓名是從何處起始的,然后就從此起始處開始查找,而不必去查看其他部分的姓名。由于采用了新的結構,于是就可以寫出一個完全不相同的算法。

編輯推薦

  《數(shù)據(jù)結構(C語言描述)》針對應用型本科和高職高專學生的特點,結合編者多年的教學和編程實踐經(jīng)驗,力圖用生動、通俗易懂的語言,并結合大量的算法實例來講解各個知識點,便于讀者理解和掌握?!  稊?shù)據(jù)結構(C語言描述)》通過各種實例具體講解如何運用各種數(shù)據(jù)結構和算法設計方法,使學生不但可以印證許多基本概念,而且能加深理解,以激發(fā)學生的學習興趣,書中所有實例程序都己在Win-T02.0下編譯通過并能正確運行?!  稊?shù)據(jù)結構(C語言描述)》每章都配有小結和習題,便于讀者掌握各章的重點和難點,并進行必要的訓練;為了方便學生上機實訓練習,《數(shù)據(jù)結構(C語言描述)》還專門設計了8套上機實驗題,供學生在每章學習過后上機練習,鞏固所學知識。

圖書封面

評論、評分、閱讀與下載


    數(shù)據(jù)結構 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7