Beginning Java Data Structures and Algorithms
暫譯: 初學者的 Java 資料結構與演算法

James Cutajar

商品描述

Though your application serves its purpose, it might not be a high performer. Learn techniques to accurately predict code efficiency, easily dismiss inefficient solutions, and improve the performance of your application.

Key Features

  • Explains in detail different algorithms and data structures with sample problems and Java implementations where appropriate
  • Includes interesting tips and tricks that enable you to efficiently use algorithms and data structures
  • Covers over 20 topics using 15 practical activities and exercises

Book Description

Learning about data structures and algorithms gives you a better insight on how to solve common programming problems. Most of the problems faced everyday by programmers have been solved, tried, and tested. By knowing how these solutions work, you can ensure that you choose the right tool when you face these problems.

This book teaches you tools that you can use to build efficient applications. It starts with an introduction to algorithms and big O notation, later explains bubble, merge, quicksort, and other popular programming patterns. You'll also learn about data structures such as binary trees, hash tables, and graphs. The book progresses to advanced concepts, such as algorithm design paradigms and graph theory. By the end of the book, you will know how to correctly implement common algorithms and data structures within your applications.

What you will learn

  • Understand some of the fundamental concepts behind key algorithms
  • Express space and time complexities using Big O notation.
  • Correctly implement classic sorting algorithms such as merge and quicksort
  • Correctly implement basic and complex data structures
  • Learn about different algorithm design paradigms, such as greedy, divide and conquer, and dynamic programming
  • Apply powerful string matching techniques and optimize your application logic
  • Master graph representations and learn about different graph algorithms

Who this book is for

If you want to better understand common data structures and algorithms by following code examples in Java and improve your application efficiency, then this is the book for you. It helps to have basic knowledge of Java, mathematics and object-oriented programming techniques.

Table of Contents

  1. Algorithms and Complexities
  2. Sorting Algorithms and Fundamental Data Structures
  3. Hash Tables and Binary Search Trees
  4. Algorithm Design Paradigms
  5. String Matching Algorithms
  6. Graphs, Prime Numbers, and Complexity Classes

商品描述(中文翻譯)

雖然您的應用程式能夠達到其目的,但可能並不是高效能的。學習技術以準確預測程式碼效率,輕鬆排除低效解決方案,並改善應用程式的性能。

主要特點
- 詳細解釋不同的演算法和資料結構,並在適當的地方提供範例問題和 Java 實作
- 包含有趣的提示和技巧,使您能有效使用演算法和資料結構
- 涵蓋超過 20 個主題,並使用 15 個實用活動和練習

書籍描述
學習資料結構和演算法能讓您更深入了解如何解決常見的程式設計問題。大多數程式設計師每天面對的問題都已經被解決、嘗試和測試過。了解這些解決方案的運作方式,您可以確保在面對這些問題時選擇正確的工具。

本書教您可以用來構建高效應用程式的工具。它從演算法和大 O 符號的介紹開始,接著解釋泡沫排序、合併排序、快速排序及其他流行的程式設計模式。您還將學習到資料結構,如二元樹、雜湊表和圖。書中進一步探討進階概念,如演算法設計範式和圖論。到書的結尾,您將知道如何在應用程式中正確實作常見的演算法和資料結構。

您將學到的內容
- 理解關鍵演算法背後的一些基本概念
- 使用大 O 符號表達空間和時間複雜度
- 正確實作經典排序演算法,如合併排序和快速排序
- 正確實作基本和複雜的資料結構
- 學習不同的演算法設計範式,如貪婪演算法、分治法和動態規劃
- 應用強大的字串匹配技術並優化您的應用程式邏輯
- 精通圖的表示法並學習不同的圖演算法

本書適合誰
如果您想通過跟隨 Java 的程式碼範例來更好地理解常見的資料結構和演算法,並提高您的應用程式效率,那麼這本書適合您。具備基本的 Java、數學和物件導向程式設計技術的知識會有所幫助。

目錄
1. 演算法與複雜度
2. 排序演算法與基本資料結構
3. 雜湊表與二元搜尋樹
4. 演算法設計範式
5. 字串匹配演算法
6. 圖、質數與複雜度類別