Book description
“一本極好又務實的資料結構入門書籍,讓讀者擁有剛好的理論知識以進行演算法分析,同時兼顧實際應用。”
-Barry Wittman
Associate Professor
Elizabethtown College
“經由閱讀本書,讀者進入Java collection framework的世界,使用Ant和JUnit,並建立一個有趣的網路搜尋引擎雛型,繼Think Java之後又一力作!”
-Chris Mayfield
Associate Professor
James Madison University
如果你是在學學生,或是準備要應徵軟體工程師的話,本書較其它同類型的書籍更清楚、簡明和深入,幫助你學習或複習,軟體工程中資料結構和演算法的一些重點。
藉由闡明理論架構之上的實用知識和技巧,作者Allen Downey呈現給你的是如何用資料結構,實作有效率的演算法,以及分析測量演算法的效率。你會用到很多Java collection framework(JCF)裡的重要類別,知道這些類別是如何被實作以及知道它們的執行效能。每一個章節都有實作練習題,還有對應的測試程式檢查讀者練習題解答是否正確。
‧使用像list和map這樣的資料結構,並瞭解其動作原理
‧製作一個可以讀取維基百科網頁、分析網頁內容而且瀏覽產出資料tree
‧分析程式碼以預測程式碼執行效率,以及程式要用多少記憶體
‧為Map介面作數個實作類別,過程中包括使用雜湊表以及二元搜尋樹
‧建立一個簡單的網頁搜尋引擎,引擎包含爬蟲和儲存網頁內容的索引器,以及能將資料回傳給使用者的檢索器
Table of contents
- 封面
- 書名頁
- 英文版權頁
- 目錄
- 前言
- 第一章 介面
- 為什麼需要兩種List
- Java中的Interface
- List interface
- 練習題一
- 第二章 演算法分析
- 選擇排序法
- Big O
- 練習題二
- 第三章 ArrayList
- 評估MyArrayList方法
- 評估add方法
- Problem size
- 鏈結資料型態
- 練習題三
- 小聊垃圾回收
- 第四章 LinkedList
- 評估MyLinkedList的方法
- 比較MyArrayList和MyLinkedList
- 測量
- 結果解讀
- 練習題四
- 第五章 雙向鏈結串列
- 效能測量結果
- 測量LinkedList方法
- 將元素加到LinkedList的尾端
- 雙向鏈結串列
- 選擇結構
- 第六章 Tree的遍歷
- 網頁搜尋
- HTML分析
- 使用jsoup
- 在DOM迭代
- 深度優先搜尋
- Java中的stack
- 迭代版DFS
- 第七章 找到Philosophy
- 開始
- Iterables和Iterators
- WikiFetcher
- 練習題五
- 第八章 Indexer
- 選擇資料結構
- TermCounter
- 練習題六
- 第九章 Map介面
- 實作MyLinearMap
- 練習題七
- 分析MyLinearMap
- 第十章 雜湊
- 雜湊
- 雜湊如何運作?
- 雜湊與可變物件
- 練習題八
- 第十一章 HashMap
- 練習題九
- 分析MyHashMap
- 取捨
- 評估MyHashMap
- 修正MyHashMap
- UML類別圖
- 第十二章 TreeMap
- Hash有什麼問題?
- 二元搜尋樹
- 練習題十
- 實作TreeMap
- 第十三章 二元搜尋樹
- 一個簡單的MyTreeMap
- 找Value
- 實作put
- 中序尋訪
- 對數時間方法
- 自我平衡樹
- 再一個練習
- 第十四章 持久性資料
- Redis
- Redis Client和Server
- 建立相容於Redis的索引
- Redis資料型態
- 練習題十一
- 一些額外的建議
- 設計提示
- 第十五章 爬行Wikipedia
- Redis版索引器
- 分析搜尋
- 分析索引
- 圖形遍歷
- 練習題十二
- 第十六章 布林搜尋
- 爬蟲解答
- 資訊檢索
- 布林搜尋
- 練習題十三
- Comparable和Comparator
- 額外練習
- 第十七章 排序
- 插入排序法
- 練習題十四
- 分析合併排序法
- 基數排序法
- 堆積排序法
- 有限堆積
- 空間複雜度
- 索引 (1/2)
- 索引 (2/2)
- 關於作者
- 出版記事
Product information
- Title: Think Data Structures|Java演算法實作和資料檢索
- Author(s):
- Release date: March 2018
- Publisher(s): GoTop Information, Inc.
- ISBN: None
You might also like
video
Python Fundamentals
51+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …
book
Clean Code: A Handbook of Agile Software Craftsmanship
Even bad code can function. But if code isn't clean, it can bring a development organization …
book
Java How to Program, Early Objects, 11th Edition
For courses in Java programming Unparalleled breadth and depth of object-oriented programming concepts The Deitels’ groundbreaking …
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …