程序員學數據結構 程序员学数据结构
[美]威廉·史密斯
- 出版商: 人民郵電
- 出版日期: 2018-07-01
- 定價: $354
- 售價: 7.9 折 $280
- 語言: 簡體中文
- 頁數: 289
- 裝訂: 平裝
- ISBN: 7115482802
- ISBN-13: 9787115482808
-
相關分類:
Algorithms-data-structures
- 此書翻譯自: Everyday Data Structures
立即出貨
買這商品的人也買了...
-
$199彩色圖像數碼盲浮水印技術
-
$450$383 -
$229進化從孤膽極客到高效團隊 (Debugging Teams Better Productivity through Collaboration)
-
$690$621 -
$380$342 -
$505程序員面試手冊:概念、編程問題及面試題
-
$284引爆流量 搜索營銷與全網引流實戰
-
$332GAN : 實戰生成對抗網絡
-
$834$792 -
$199編譯原理與技術 : 學習指導與習題解析, 2/e
-
$210$200 -
$454Spring學習指南 第3版
-
$185軟件之美
-
$650$585 -
$480$379 -
$490$441 -
$300$270 -
$680$537 -
$380$342 -
$550$429 -
$680$530 -
$690$538 -
$760$593 -
$764高級算法和數據結構
-
$594$564
相關主題
商品描述
本書由淺入深地詳細講解了電腦存儲使用的多種數據結構。本書首先講解了初級的數據結構(如表、棧、隊列和堆等),具體包括它們的工作原理、功能實現以及典型的應用程序等;然後討論了數據結構,如泛型集合、排序、搜索和遞歸等;最後介紹瞭如何在日常應用中使用這些數據結構。
本書通過實際案例向讀者介紹了多種數據結構及其潛在應用,教會讀者如何分析問題、選擇合適的數據結構解決方案等。本書的一大特色是使用多種語言(C#、Java、Objective-C和Swift)進行講述。
本書適合初學編程或自學編程的人員以及電腦相關專業的教師和學生閱讀,也非常適合程序員參考。
作者簡介
作者:[美]威廉·史密斯(William Smith)譯者:崔敖
William Smith早年獲得了環境科學與商務管理學位,在環境領域從事了數年的專業工作。他的軟件開發經歷始於1988年,並在從事環境領域工作時,始終將編程作為他的興趣愛好,不斷進行軟件開發。後來他進入了馬里蘭大學深造,並獲得了計算機科學學位。
William現在是一名獨立軟件開發工程師和專業技術圖書的作者。他成立了Appsmiths公司,該公司的主要業務是軟件開發和諮詢,致力於使用原生工具和跨平台工具(如Xamarin和Monogame)來進行移動應用和遊戲開發。
William與他的夫人和孩子一起居住在西佛吉尼亞州的鄉村,全家享受著打獵、釣魚和露營給他們帶來的樂趣。
目錄大綱
第1章數據類型:基本的數據結構1
1.1數值數據類型1
1.1.1整型2
1.1.2單精度浮點類型10
1.1.3雙精度浮點類型12
1.1.4貨幣類型15
1.1.5類型轉換17
1.2布爾數據類型20
1.2.1運算符優先級22
1.2.2短路求值22
1.3字符串26
1.4小結29
第2章數組:基本數據集30
2.1可變數組與不可變數組32
案例學習:用戶登錄到一個Web服務32
2.2高級話題43
2.2.1線性查找43
2.2.2原始數組45
2.2.3對像數組46
2.2.4混合數組46
2.2.5多維數組47
2.2.6不規則數組49
2.3小結49
第3章列表:線性數據集50
3.1列表的實現51
3.1.1數組表52
3.1.2鍊錶53
3.2列表的實例化53
3.3案例回顧:用戶登錄到一個
Web服務55
3.3.1泛型59
3.3.2案例學習:自行車路徑60
3.4雙鍊錶73
3.5查找73
3.6一些指針74
3.7小結74
第4章棧:後入先出的數據集75
4.1棧的初始化75
4.1.1 UINavigationController 76
4.1.2棧的操作77
4.2案例學習:運動規划算法77
4.3高級話題——棧的實現88
4.3.1數組棧88
4.3.2鍊錶棧88
4.4小結89
第5章隊列:先入先出的數據集90
5.1隊列的初始化91
5.2案例學習:客戶服務93
5.3高級話題106
5.3.1數組隊列106
5.3.2鍊錶隊列106
5.3.3堆隊列106
5.3.4雙端隊列107
5.3.5優先級隊列107
5.4小結107
第6章字典:關鍵字數據集108
6.1字典的初始化109
6.2案例學習:遊戲代幣統計113
6.3高級話題125
6.3.1散列表字典126
6.3.2查找樹字典126
6.4小結126
第7章集合:不包含重複項的數據集127
7.1集合論128
7.2集合的初始化129
7.3案例回顧:用戶登錄到一個
Web服務133
7.4案例學習:音樂播放列表137
7.5高級話題150
7.5.1散列表集合150
7.5.2樹集合151
7.5.3數組集合151
7.6小結151
第8章結構體:更為複雜的數據類型152
8.1基本要點152
8.1.1 C# 152
8.1.2 Java 158
8.1.3 Objective-C 158
8.1.4 Swift 161
8.2枚舉類型165
8.3小結170
第9章樹:非線性數據結構171
9.1樹結構與樹類型171
9.2樹的相關術語172
9.3樹的基本操作173
9.4樹的實例化174
9.5樹的結構174
9.6遞歸207
9.7遍歷208
9.8小結209
第10章堆:有序樹210
10.1堆的實現210
10.2堆的操作211
10.3堆的實例化212
10.4最小堆結構212
10.5常見應用場景227
10.6小結227
第11章圖:互相連接的對象228
11.1概念圖示228
11.2圖的操作229
11.3圖的實現231
11.4圖數據結構231
11.5小結249
]第12章排序:為混亂帶來秩序250
12.1選擇排序251
12.2插入排序255
12.3冒泡排序259
12.4快速排序263
12.5歸併排序268
12.6桶排序273
12.7小結276
第13章查找:找你所需277
13.1線性查找277
13.2二分查找281
13.3跳躍查找284
13.4小結289