㈠ 數據結構的經典學習書籍
c++數據結構與程序設計(清華大學出版社)不一定必須學離散,離散只是一些概念,編程的時候再研究那些概念都行
㈡ 想自學數據結構,請問買什麼書好
一:介紹
《數據結構與演算法》以基本數據結構和演算法設計策略為知識單元,系統地介紹了數據結構的知識與應用、計算機演算法的設計與分析方法,主要內容包括線性表、樹、圖和廣義表、演算法設計策略以及查找與排序演算法等。《數據結構與演算法》注重理論與實踐相結合,內容深入淺出,可以作為高等院校計算機學科相關專業的教材或參考書,同時對計算機科技工作者也有參考價值。
二:內容提要
本書是國家級雙語教學示範課程《數據結構》的配套教材,根據教育部高等學校計算機科學與技術教學指導委員會制定的《高等學校計算機科學與技術專業發展戰略研究報告暨專業規范》編寫。全書每章均以數據的邏輯結構、存儲結構和相應的演算法實現為主線,並對演算法的運算效率進行分析。全書分為8章,涵蓋了各種常見數據結構。第1章主要介紹數據結構和演算法分析的基本概念,第2~6章主要介紹典型的線性結構、樹型結構和圖型結構,第7~8章分別介紹查找和排序操作。
另外,每章後面附有習題和上機實驗內容,上機實驗提供了完整的、可運行的程序上機實驗供讀者參考,以加深讀者對所學知識的理解和應用。
本書既可作為高等院校計算機及相關專業數據結構課程的教學用書,也可作為從事計算機工程與應用的廣大讀者的參考書。
三:目錄
第1章緒論1
1.1數據及其邏輯結構1
1.1.1基本概念1
1.1.2邏輯結構2
1.2數據結構2
1.2.1什麼是數據結構2
1.2.2數據結構的二元組描述3
1.2.3數據結構和數據類型4
1.3存儲實現與運算實現4
1.3.1順序存儲結構4
1.3.2鏈式存儲結構5
1.3.3索引存儲結構6
1.3.4散列存儲結構6
1.3.5運算實現7
1.3.6進一步討論8
1.4演算法描述和演算法分析8
1.4.1什麼是演算法8
1.4.2演算法描述9
1.4.3演算法分析11
1.5網路教輔資源14
1.6小結14
練習一15
第2章線性表19
2.1線性表的基本概念19
2.2線性表的順序表示和實現21
2.3線性表的鏈接表示和實現26
2.3.1線性表的鏈式存儲原理27
2.3.2線性表的鏈式存儲演算法實現27
2.3.3演算法效率分析32
2.4循環鏈表和雙鏈表32
2.4.1循環鏈表32
2.4.2雙向鏈表33
2.5線性表的應用舉例35
2.5.1問題的提出35
2.5.2分析問題36
2.5.3演算法實現36
2.5.4程序39
2.6小結44
練習二45
第3章棧和隊列54
3.1棧54
3.1.1棧的定義54
3.1.2棧的基本運算54
3.1.3棧的順序存儲結構55
3.1.4棧的鏈式存儲結構58
3.1.5棧的應用60
3.2隊列63
3.2.1隊列的定義63
3.2.2隊列的基本運算63
3.2.3隊列的順序存儲結構64
3.2.4隊列的鏈式存儲結構68
3.2.5隊列的應用72
3.3小結74
練習三75
第4章串和數組79
4.1串的基本概念79
4.2串的基本操作和串的存儲結構80
4.2.1串的基本操作80
4.2.2串的靜態順序存儲結構81
4.2.3串的動態順序存儲結構87
4.2.4串的鏈式存儲結構91
4.3數組的定義和運算92
4.4數組的順序存儲結構92
4.5特殊矩陣的壓縮存儲94
4.5.1特殊矩陣95
4.5.2稀疏矩陣96
4.6小結103
練習四104
第5章樹和二叉樹110
5.1樹的概念與定義110
5.1.1樹的定義110
5.1.2樹的基本操作111
5.2二叉樹的性質和存儲結構111
5.2.1二叉樹的定義與基本操作111
5.2.2二叉樹的性質112
5.2.3二叉樹的存儲結構114
5.3二叉樹的遍歷與線索化116
5.3.1二叉樹的遍歷116
5.3.2二叉樹的非遞歸遍歷119
5.3.3樹的唯一性問題120
5.3.4二叉樹遍歷的應用121
5.3.5線索二叉樹124
5.4樹、森林和二叉樹的關系126
5.4.1樹的存儲結構127
5.4.2樹、森林與二叉樹的相互轉換129
5.4.3樹與森林的遍歷132
5.5哈夫曼樹及其應用133
5.5.1哈夫曼樹的定義133
5.5.2哈夫曼樹的構造134
5.5.3哈夫曼編碼135
5.6小結137
練習五139
第6章圖146
6.1圖的定義及理論146
6.2圖的存儲結構及演算法實現149
6.2.1圖的基本運算的抽象149
6.2.2數組表示法150
6.2.3鄰接表表示154
6.2.4十字鏈表表示160
6.3圖的演算法實現162
6.3.1圖的遍歷演算法162
6.3.2圖的連通性166
6.4圖的應用167
6.4.1圖的最小生成樹167
6.4.2最短路徑171
6.4.3任意頂點最短路徑175
6.5小結176
練習六177
第7章查找表183
7.1查找表的基本概念183
7.2靜態查找表184
7.2.1順序查找184
7.2.2折半查找187
7.2.3分塊查找190
7.3動態查找表192
7.3.1二叉排序樹192
7.3.2平衡二叉樹199
7.4哈希表200
7.4.1哈希表的基本概念201
7.4.2哈希函數的構造方法202
7.4.3處理哈希沖突的方法206
7.5小結209
練習七210
第8章內部排序217
8.1排序的基本概念217
8.1.1排序217
8.1.2內部排序和外部排序218
8.1.3排序演算法評價218
8.1.4排序演算法的穩定性218
8.1.5待排序記錄序列的存儲結構218
8.2直接插入排序和希爾排序218
8.2.1直接插入排序219
8.2.2折半查找插入排序222
8.2.3希爾排序223
8.3選擇排序和堆排序225
8.3.1選擇排序226
8.3.2堆排序227
8.4冒泡排序和快速排序229
8.4.1冒泡排序229
8.4.2快速排序231
8.5歸並排序235
8.6基數排序236
8.6.1基本思想236
8.6.2基數排序過程與演算法237
8.7各種內部排序方法的比較討論241
8.8外部排序243
8.8.1外部存儲系統243
8.8.2外部排序面臨的問題246
8.8.3外部排序的基本過程246
8.9小結247
練習八248
㈢ 學數據結構看什麼書
數據結構的話,主要還是會應用在演算法方面的,書的話《數據結構C語言版》清華大學出版社,國內不錯的教材,再有就是演算法相關,或者看看翻譯過來的數據結構書,不過國外人寫的書,可能寫作思路上會不太適應
㈣ 有什麼比較好的自學《數據結構》的電子書
按理說數據結構最經典的還是《演算法導論》,迅雷上隨便搜,有中文版的。這本書我也在看,怎麼說呢,基本上不涉及語法知識吧,都是偽代碼的,很像c語言。英語過了高中的應該都看的懂吧。不過這本書純理論的比較多,解釋的很詳細的,圖文並茂。但願你不要被它的厚度嚇到了。。。
對了,聽說英文版的比較好理解,講的清楚。不過我一看到英語就頭痛,還是中文的了。
㈤ 自學數據結構看什麼書
想要學習數據結構一般都是通過學習一種編程語言進而結合來學習,一般都是先學習一些簡單的數據結構,比如選擇結構循環結構以及其他的一些條件結構,進而學習一些簡單的演算法,也就是比較復雜的結構。
推薦你學習Pascal,這個語言比較簡單並且適合初學者,而且這個語言嚴謹而容易開發,還有很好的開發價值。一些Pascal的初級教程就很好。
㈥ 學習數據結構,哪本書最好且容易理解
比較權威是嚴蔚敏的書,你可以買一本並且再配套上他是習題集,一點點啃
但是不太好理解,因為數據結構是有點兒抽象的東西
推薦看浙大MOOC課程,裡面講的很詳細,並且做上面的習題,不會的看看博客,翻翻書,就能夠學好
㈦ 新人打算學數據結構,請問這些書我買哪本入門比較好
如果學過C語言,就買《數據結構與演算法分析:C語言版》,機械工業出版社出版,是中文的。
如果你沒有學過C語言,那你就先去學C語言
㈧ 學習數據結構應看什麼書
資料庫,C語言,軟體工程
㈨ 自學數據結構用什麼教材
強烈推薦Mark Allen Weiss的《數據結構與演算法分析:C語言描述》
我當時看的C++版的,因為我之前學過C++。你既然學的是C,那就看C版的。它裡面講的演算法都是一樣的,只不過用不同的語言實現。
嚴蔚敏的書我也看過,考研的時候看的。給的代碼比較多,其實講的也不錯,只不過嚴奶奶的編程風格我不是很喜歡。
數據結構本來就是有一定的難度的,如果有些代碼沒看懂的話,你可以跑程序跑一跑,單步調試,看看其中的變數的值是怎麼變化的。
有句話叫做「功夫不負有心人」,多看看書,多敲敲代碼,一定可以把數據結構學好的。記住不要把東西看懂了就萬事大吉了,一定要上機實現。
㈩ 數據結構應該怎麼學自學的話,看什麼書好呢
數據結構(C語言版嚴蔚敏) 這本不錯 我學過 你可以看看 望採納~