Java程式設計:一種跨學科的方法

Java程式設計:一種跨學科的方法

《Java程式設計:一種跨學科的方法》是2009年清華大學出版社出版的圖書,作者是賽德維克、 韋恩。

基本介紹

  • 書名:Java程式設計:一種跨學科的方法
  • 又名:Introduction to Programming in Java:An Interdisciplinary Approach
  • 作者:(Robert Sedgewick)賽德維克 (Kevin Waynek)韋恩
  • ISBN:9787302198000
  • 頁數:693 頁
  • 定價:69.00
  • 出版社清華大學出版社
  • 出版時間:2009年
  • 裝幀:平裝
  • 開本:16
內容簡介,作者簡介,編輯推薦,目錄,

內容簡介

《Java程式設計:一種跨學科的方法》由計算機著名專家Robert Sedgewick編寫。本書根據學習編程的四個階段(基本元素、函式、面向對象程式設計、算法和數據結構)來組織。基本元素包括變數、賦值語句、數據的內置類型、控制流(條件和循環)、數組和輸入輸出、包括圖和聲音。函式包括庫函式和遞歸函式,將程式劃分成可以獨立調試、維護和復用的程式段。然後介紹如何使用、創建和設計數據類型。最後介紹了經典的排序和搜尋算法,同時也介紹了基本的數據結構(包括堆疊、佇列和符號表)及它們的套用,強調了使用科學方法來理解實現的性能特性。本書示例豐富,涉及了Java在各種學科之中的套用,具有很高的參考價值。
本書適用於高等院校計算機及相關專業的研究生和本科生,以及從事編程工作的專業人員。
本書示例豐富,涉及了Java在各種學科之中的套用,具有很高的參考價值。
本書適用於高等院校計算機及相關專業的研究生和本科生,以及從事編程工作的專業人員。

作者簡介

Robert Sedgewick,普林斯頓大學計算機科學系教授,在美國史丹福大學獲得博士學位,師從算法與程式設計大師Donald E. Knuth教授。他所著作的《算法》系列書在計算機界有著舉足輕重的影響力。

編輯推薦

《Java程式設計:一種跨學科的方法》按學習編程的四個階段來組織本書。
示例豐富,涉及了Java在各種學科之中的套用,具有很高的參考價值。
內容齊備的配套網址,編碼示例、附加練習等內容可以從書內提示網站下載。

目錄

第1章程式設計的元素1
1.1第一個程式1
1.1.1Java程式設計2
1.1.2輸入與輸出5
問題與回答(Q&A)6
練習8
1.2內置數據類型8
1.2.1定義9
1.2.2字元和字元串12
1.2.3整數14
1.2.4浮點數16
1.2.5布爾型17
1.2.6比較18
1.2.7庫方法和API20
1.2.8類型轉換22
小結24
問題與回答(Q&A)25
練習27
創新練習29
1.3條件與循環31
1.3.1if語句32
1.3.2while循環34
1.3.3for循環38
1.3.4嵌套40
1.3.5套用42
1.3.6其他條件和循環結構49
1.3.7死循環51
小結52
問題與回答(Q&A)53Java程式設計--一種跨學科的方法目錄練習55
創新練習58
1.4數組61
1.4.1在Java中的數組61
1.4.2優惠券收購69
1.4.3Eratosthenes的素數篩選71
1.4.4二維數組73
1.4.5示例:自迴避隨機行走77
小結80
問題與回答(Q&A)80
練習81
創新練習83
1.5輸入與輸出86
1.5.1鳥瞰功能86
1.5.2標準輸出88
1.5.3標準輸入90
1.5.4重定向和管道94
1.5.5標準圖畫97
1.5.6標準音頻105
問題與回答(Q&A)109
練習110
創新練習113
1.6案例研究:隨機Web衝浪115
1.6.1輸入格式116
1.6.2過渡矩陣116
1.6.3模擬117
1.6.4混合馬爾可夫鏈121
1.6.5經驗125
練習126
創新練習127
第2章函式與模組129
2.1靜態方法129
2.1.1使用和定義靜態方法130
2.1.2靜態方法的屬性133
2.1.3實現數學函式137
2.1.4使用靜態方法組織代碼139
2.1.5用數組實現靜態方法140
2.1.6示例:聲波的疊加143
問題與回答(Q&A)147
練習148
創新練習150
2.2庫和客戶端153
2.2.1使用在其他程式中的靜態方法154
2.2.2庫156
2.2.3隨機數158
2.2.4數組的輸入和輸出161
2.2.5疊代函式系163
2.2.6標準統計167
2.2.7模組化程式設計172
問題與回答(Q&A)174
練習175
創新練習177
2.3遞歸179
2.3.1第一個遞歸程式179
2.3.2數學歸納法181
2.3.3歐幾里得算法183
2.3.4漢諾塔183
2.3.5函式調用樹185
2.3.6指數時間186
2.3.7格雷碼187
2.3.8遞歸圖形189
2.3.9布朗橋191
2.3.10遞歸易犯的錯誤193
2.3.11觀點195
問題與回答(Q&A)195
練習196
創新練習197
2.4案例研究:滲濾200
2.4.1滲濾201
2.4.2基本支架202
2.4.3垂直滲濾204
2.4.4測試205
2.4.5估計機率208
2.4.6滲濾的遞歸解決方案209
2.4.7自適應畫圖211
2.4.8經驗215
問題與回答(Q&A)216
練習217
創新練習218
第3章面向對象程式設計221
3.1數據類型221
3.1.1基本定義222
3.1.2顏色227
3.1.3數字圖像處理231
3.1.4字元串處理238
3.1.5字元串處理套用:基因組學241
3.1.6輸入和輸出修訂243
3.1.7引用類型屬性249
問題與回答(Q&A)254
練習256
創新練習258
3.2創建數據類型262
3.2.1數據類型的基本元素262
3.2.2秒表266
3.2.3直方圖268
3.2.4海龜作圖270
3.2.5複數275
3.2.6Mandelbrot集279
3.2.7商務數據處理282
問題與回答(Q&A)285
練習287
創新練習290
3.3設計數據類型294
3.3.1設計API294
3.3.2封裝296
3.3.3不變性301
3.3.4示例:空間向量303
3.3.5繼承306
3.3.6套用:數據挖掘310
3.3.7契約式設計315
問題與回答(Q&A)316
練習318
數據類型設計練習319
創新練習320
3.4案例研究:N體模擬321
3.4.1N體模擬322
問題與回答(Q&A)328
練習329
創新練習329
第4章算法與數據結構331
4.1性能331
4.1.1觀測332
4.1.2假說334
4.1.3增長階分類338
4.1.4預測340
4.1.5防止誤解的說明342
4.1.6性能保證343
4.1.7記憶體344
4.1.8觀點348
問題與回答(Q&A)349
練習351
創新練習355
4.2排序與搜尋357
4.2.1二分查找358
4.2.2插入排序364
4.2.3歸併排序370
4.2.4套用:頻率計數374
4.2.5套用:最長的重複子串377
4.2.6經驗381
問題與回答(Q&A)382
練習383
創新練習384
4.3堆疊與佇列386
4.3.1後進先出棧387
4.3.2數組實現388
4.3.3鍊表390
4.3.4參數化數據類型398
4.3.5堆疊的套用402
4.3.6FIFO佇列405
4.3.7佇列套用411
4.3.8可疊代的集合413
4.3.9資源分配416
問題與回答(Q&A)419
練習421
鍊表練習423
創新練習424
4.4符號表428
4.4.1API428
4.4.2符號表客戶端430
4.4.3符號表實現435
4.4.4二叉搜尋樹436
4.4.5BST的性能特性440
4.4.6BST樹遍歷443
4.4.7擴展符號表操作445
4.4.8集合數據類型446
4.4.9觀點447
問題與回答(Q&A)448
練習448
二叉樹練習450
創新練習451
4.5案例研究:小世界456
4.5.1圖456
4.5.2圖數據類型459
4.5.3圖客戶端示例462
4.5.4圖的最短路徑465
4.5.5小世界圖473
4.5.6經驗478
問題與回答(Q&A)480
練習481
創新練習483
後記487

相關詞條

熱門詞條

聯絡我們