書馨卡幫你省薪 2024個(gè)人購書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn))

數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn))

出版社:北京大學(xué)出版社出版時(shí)間:2021-11-01
開本: 16開 頁數(shù): 600
中 圖 價(jià):¥83.3(7.0折) 定價(jià)  ¥119.0 登錄后可看到會員價(jià)
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn)) 版權(quán)信息

數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn)) 本書特色

1.通俗易懂,系統(tǒng)全面:內(nèi)容由預(yù)備知識→數(shù)據(jù)結(jié)構(gòu)→常用算法→商業(yè)實(shí)戰(zhàn)層層推進(jìn),手把手教你從零開始編寫數(shù)據(jù)結(jié)構(gòu)和算法; 2.案例典型,實(shí)戰(zhàn)性強(qiáng):深入JDK源碼講解數(shù)據(jù)結(jié)構(gòu)和算法的實(shí)現(xiàn)原理,用案例訓(xùn)練實(shí)戰(zhàn),用代碼落實(shí)理論; 3.附贈資源,在線答疑:不僅附贈案例源代碼,而且讀者可進(jìn)入作者個(gè)人開源社區(qū),隨時(shí)與作者交流,學(xué)習(xí)全的前沿編程技術(shù)。

數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn)) 內(nèi)容簡介

隨著云計(jì)算、大數(shù)據(jù)、人工智能、虛擬現(xiàn)實(shí)等應(yīng)用的興起,企業(yè)對于開發(fā)人員的算法要求也越來越高。本書全面講解了在編程中涉及到的常用的數(shù)據(jù)結(jié)構(gòu)及算法,同時(shí),輔以大量的實(shí)戰(zhàn)案例,圖文并茂,令讀者易于理解掌握。同時(shí),案例的選型偏終于解決實(shí)際問題,具有很強(qiáng)的應(yīng)用性、趣味性。全書示例采用Java語言編寫,書中示例也可以作為面試使用。 本書書分為以下幾部分:部分 預(yù)備知識(-2章):介紹數(shù)據(jù)結(jié)構(gòu)和算法的基本概念,并演示如何搭建開發(fā)環(huán)境、編寫測試用例。第二部分 數(shù)據(jù)結(jié)構(gòu)(第3-14章):介紹常見的數(shù)據(jù)結(jié)構(gòu),包括數(shù)組、鏈表、矩陣、棧、隊(duì)列、跳表、散列、樹、圖等。第三部分 常用算法(5-20章):介紹常用的算法,包括分而治之、動態(tài)規(guī)劃、貪婪算法、回溯、分支界定、遺傳算法等。第四部分 商業(yè)實(shí)戰(zhàn)(第21-22章):介紹漢諾塔及五子棋兩款游戲的實(shí)現(xiàn)。本書適合對Java數(shù)據(jù)結(jié)構(gòu)及算法感興趣的學(xué)生、開發(fā)人員和架構(gòu)師閱讀。

數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn)) 目錄

第1章 緒論 1
1.1 引言 2
1.1.1 數(shù)據(jù)結(jié)構(gòu)概述 2
1.1.2 什么是算法 5
1.1.3 算法的描述 5
1.2 程序的性能 9
1.2.1 程序的性能 9
1.2.2 程序的性能 10
1.3 漸近記法 12
1.3.1 大O標(biāo)記法 12
1.3.2 大Ω標(biāo)記法 12
1.3.3 大Θ標(biāo)記法 13
1.3.4 漸近記法總結(jié) 13
1.4 算法復(fù)雜度等級及其分析 13
1.4.1 常數(shù)的時(shí)間復(fù)雜度O(1) 14
1.4.2 對數(shù)的時(shí)間復(fù)雜度O(logn) 14
1.4.3 線性的時(shí)間復(fù)雜度O(n) 15
1.4.4 平方的時(shí)間復(fù)雜度O(n2) 16
1.4.5 指數(shù)的時(shí)間復(fù)雜度O(2n) 16
1.4.6 算法復(fù)雜度總結(jié) 17
1.5 總結(jié) 17
1.6 習(xí)題 18
第2章 開發(fā)環(huán)境搭建及測試 19
2.1 安裝JDK 20
2.1.1 解壓.zip文件到指定位置 20
2.1.2 設(shè)置環(huán)境變量 20
2.1.3 驗(yàn)證安裝 21
2.2 安裝Maven 22
2.2.1 安裝 22
2.2.2 設(shè)置本地倉庫 22
2.2.3 設(shè)置鏡像 23
2.3 安裝IDE 23
2.3.1 解壓.zip文件到指定位置 23
2.3.2 配置工作區(qū)間 24
2.3.3 配置JDK 24
2.3.4 配置Maven 24
2.3.5 設(shè)置字符編碼 26
2.4 實(shí)戰(zhàn):編寫單元測試用例 26
2.4.1 創(chuàng)建HelloWorld類 26
2.4.2 使用JUnit5 27
2.4.3 編寫JUnit5測試用例 27
2.5 總結(jié) 29
2.6 習(xí)題 29
第3章 順序表 30
3.1 Java數(shù)組初探 31
3.2 線性表數(shù)據(jù)結(jié)構(gòu) 32
3.3 實(shí)戰(zhàn):使用數(shù)組實(shí)現(xiàn)順序表
   SequentialList 37
3.4 順序表的動態(tài)擴(kuò)容 47
3.4.1 順序表的動態(tài)擴(kuò)容原理 47
3.4.2 動態(tài)擴(kuò)容機(jī)制的選擇 48
3.4.3 ArrayList動態(tài)擴(kuò)容分析 49
3.4.4 Vector動態(tài)擴(kuò)容分析 50
3.4.5 選擇ArrayList還是Vector 52
3.5 總結(jié) 52
3.6 習(xí)題 52
第4章 鏈表 53
第5章 數(shù)組和矩陣 93
第6章 棧 114
6.1 基本概念及應(yīng)用場景 115
6.1.1 棧的基本概念 115
6.1.2 棧的應(yīng)用場景 115
6.2 抽象數(shù)據(jù)類型 117
6.3 數(shù)組描述 117
6.4 實(shí)戰(zhàn):使用數(shù)組實(shí)現(xiàn)棧
   SequentialListStack 117
6.4.1 成員變量及構(gòu)造函數(shù) 117
6.4.2 統(tǒng)計(jì)棧的規(guī)模 118
6.4.3 判斷棧中的數(shù)據(jù)元素是否為空 118
6.4.4 入棧 118
6.4.5 出棧 119
6.4.6 引用棧頂對象 119
6.4.7 時(shí)間復(fù)雜度分析總結(jié) 119
6.4.8 單元測試 119
6.5 鏈表描述 121
6.6 實(shí)戰(zhàn):使用鏈表實(shí)現(xiàn)棧
   SinglyLinkedListStack 122
6.6.1 成員變量及構(gòu)造函數(shù) 122
6.6.2 統(tǒng)計(jì)棧的規(guī)模 122
6.6.3 判斷棧中的數(shù)據(jù)元素是否為空 122
6.6.4 入棧 123
6.6.5 出棧 123
6.6.6 引用棧頂對象 123
6.6.7 時(shí)間復(fù)雜度分析總結(jié) 123
6.6.8 單元測試 123
6.7 總結(jié) 125
6.8 習(xí)題 125
第7章 隊(duì)列 126
第8章 跳表和散列 183
8.1 字典 184
8.1.1 跳表 184
8.1.2 散列 185
8.2 抽象數(shù)據(jù)類型 186
8.2.1 Dictionary抽象類 186
8.2.2 Map接口 187
8.2.3 Dictionary抽象類和Map接口
   的抉擇 194
8.3 散列HashMap 194
8.3.1 HashMap的聲明 195
8.3.2 HashMap的成員變量和構(gòu)造
   函數(shù) 201
8.3.3 HashMap的核心方法 203
8.3.4 實(shí)戰(zhàn):HashMap的單元測試 210
8.3.5 實(shí)戰(zhàn):HashMap的應(yīng)用案例
   ——詞頻統(tǒng)計(jì) 214

8.4 基于跳表實(shí)現(xiàn)的
   ConcurrentSkipListMap 216
8.4.1 ConcurrentSkipListMap的聲明 216
8.4.2 ConcurrentSkipListMap的成員
   變量和構(gòu)造函數(shù) 217
8.4.3 ConcurrentSkipListMap的核心
   方法 219
8.4.4 實(shí)戰(zhàn):ConcurrentSkipListMap
   的單元測試 232
8.4.5 實(shí)戰(zhàn):ConcurrentSkipListMap
   的應(yīng)用案例——詞頻統(tǒng)計(jì) 235
8.5 實(shí)戰(zhàn):文本壓縮 237
8.5.1 文本的壓縮和解壓 238
8.5.2 文本的壓縮和解壓的實(shí)現(xiàn) 238
8.5.3 測試文本的壓縮和解壓 240
8.6 總結(jié) 242
8.7 習(xí)題 243
第9章 樹及二叉樹 244
9.10 習(xí)題 272
第10章 優(yōu)先級隊(duì)列及堆 273
10.1 基本概念及應(yīng)用場景 274
10.2 抽象數(shù)據(jù)類型 274
10.3 數(shù)組描述 274
10.4 實(shí)戰(zhàn):使用數(shù)組實(shí)現(xiàn)優(yōu)先級隊(duì)列 275
10.4.1 定義實(shí)現(xiàn)類 275
10.4.2 實(shí)現(xiàn)插入 276
10.4.3 實(shí)現(xiàn)刪除 278
10.4.4 單元測試 279
10.5 堆描述 282
10.5.1 堆的定義 283
10.5.2 堆和普通樹的區(qū)別 283
10.5.3 堆的存儲 284
10.5.4 堆的常用操作 284
10.6 實(shí)戰(zhàn):使用堆實(shí)現(xiàn)優(yōu)先級隊(duì)列 285
10.6.1 定義實(shí)現(xiàn)類 286
10.6.2 實(shí)現(xiàn)插入 287
10.6.3 實(shí)現(xiàn)刪除 289
10.6.4 單元測試 291
10.7 總結(jié) 293
10.8 習(xí)題 294
第11章 二叉查找樹 295
第12章 平衡查找樹 311
第13章 圖 361
第14章 分而治之 438
第15章 貪心算法 461
第16章 動態(tài)規(guī)劃 473
第17章 回溯 490
第18章 遺傳算法 502
第19章 螞蟻算法 528
第20章 漢諾塔游戲 555
20.1 實(shí)戰(zhàn):漢諾塔問題 556
參考文獻(xiàn) 582


展開全部

數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語言實(shí)現(xiàn)) 作者簡介

柳偉衛(wèi),網(wǎng)名老衛(wèi)、waylau,在 IT 公司擔(dān)任項(xiàng)目經(jīng)理、架構(gòu)師、高級技術(shù)顧問等職位,是 CSDN、 開源中國、云棲社區(qū)等技術(shù)社區(qū)專家,慕課網(wǎng)特邀講師。具有多年軟件開發(fā)管理及系統(tǒng)架構(gòu)經(jīng)驗(yàn)。負(fù)責(zé)過多個(gè)省、國家*大型分布式系統(tǒng)的設(shè)計(jì)與研發(fā),參與了多個(gè)大型項(xiàng)目的微服務(wù)架構(gòu)的技術(shù)改造,在實(shí)際工作中,積累了大量系統(tǒng)架構(gòu)、大數(shù)據(jù)處理以及性能調(diào)優(yōu)經(jīng)驗(yàn)。已經(jīng)出版了《分布式系統(tǒng)常用技術(shù)及案例分析》《Spring Boot 企業(yè)級應(yīng)用開發(fā)實(shí)戰(zhàn)》《Spring Cloud 微服務(wù)架構(gòu)開發(fā)實(shí)戰(zhàn)》《Spring 5 開發(fā)大全》《Cloud Native 分布式架構(gòu)原理與實(shí)踐》《大型互聯(lián)網(wǎng)應(yīng)用輕量級架構(gòu)實(shí)戰(zhàn)》等專著。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服