Categories Corporate
Free Textbook

Java 18: Algorithms and data structures

Software Development

203
Language :  English
The book focuses on algorithms written in Java and presents several classic algorithms.
Download free PDF textbooks or read online. Less than 15% adverts
Business subscription free for the first 30 days, then $5.99/mo
Description
Content

The book focuses on algorithms written in Java and presents several classic algorithms, but the primary goal is to introduce algorithm analysis, and then allowing the reader to be able to compare and evaluate the complexity of algorithms. In addition, the book treats the classic data structures such as lists and trees and shows how these data structures can be implemented in Java.

Click here to download the source files from this book.

  • Foreword
  1. Introduction
  2. The concept of algorithms 
    1. Examples of algorithms 
    2. Exercise 1: A difference series 
    3. Recursion 
    4. Exercise 2: A palindrome 
    5. Search 
    6. The Fibonacci numbers 
    7. Euclid’s algorithm 
    8. Sum of digits 
    9. Prime numbers 
    10. Sweep 
    11. Exercise 3: Sweep a list 
  3. Algorithm analysis 
    1. The complexity of linear search 
    2. The complexity of binary search 
    3. More examples 
    4. Definition of complexities 
    5. Merge 
    6. Time complexity in practice 
    7. Exercise 4: Calculating primes 
    8. Memory complexity 
    9. The median 
    10. Exercise 5: Measurements for the median 
    11. Problem 1: Max contiguous sum 
    12. Correctness of algorithms 
  4. Sorting 
    1. Bubble sort 
    2. Selection sort 
    3. Insertion sort 
    4. Shell sort 
    5. Merge sort 
    6. Quick sort 
    7. Problem 2: The sorting methods
  5. Data structures 
    1. A Buffer
    2. Exercise 6: Test Buffer
    3. ArrayList 
    4. Exercise 7: Test ArrayList 
  6. Linked lists 
    1. Single linked lists 
    2. Exercise 8: Test SingleList 
    3. Double linked lists 
    4. Exercise 9: Test DoubleList 
    5. Problem 3: A circular list 
    6. An ordered linked lists 
    7. Exercise 10: Double linked lists
    8. A stack 
    9. Exercise 11: A stack of fixed size 
    10. A queue 
    11. Exercise 12: A priority queue 
  7. Trees 
    1. Binary trees 
    2. Exercise 13: A general binary tree 
    3. Binary search trees 
    4. Exercise 14: A binary search tree 
    5. Exercise 15: LevelOrder 
    6. Balanced binary trees 
    7. An AVL tree 
    8. Exercise 16: Test the AVLTree 
  8. Heap 
    1. Problem 4: A TreeHeap 
    2. The class Heap 
    3. Heap sort 
    4. A priority queue 
    5. Exercise 17: Test the class Heap 
    6. Problem 5: Radix-sort 
  9. Hashing 
    1. The class Hashing 
    2. Exercise 18: Test hashing 
    3. Problem 6: Quadratic probing 
  10. Sets 
    1. Exercise 19: The set classes 
  11. Maps 
    1. Exercise 20: The map classes
  12. A final example 
    1. A test program 
About the Author

Poul Klausen