This repository contains Java programming exercises and solutions from Part III & IV of the book:
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
by Y. Daniel Liang
These chapters focus on advanced Java topics, including recursion, generics, data structures, algorithms, trees, hashing, and graphs.
| Chapter | Title | Main Topics |
|---|---|---|
| 17 | Binary I/O | Text vs Binary I/O, Object Streams, Random Access Files |
| 18 | Recursion | Factorials, Fibonacci, Tower of Hanoi, Fractals |
| 19 | Generics | Generic Classes, Methods, Wildcards, Type Erasure |
| 20 | Lists, Stacks, Queues | Collections, Iterators, Comparator, Priority Queues |
| 21 | Sets and Maps | HashSet, TreeSet, HashMap, Keyword Counting |
| 22 | Developing Efficient Algorithms | Big-O, Dynamic Programming, Euclidโs Algorithm |
| 23 | Sorting | Merge Sort, Quick Sort, Heap Sort, Bucket Sort |
| 24 | Implementing Lists, Stacks, Queues | ArrayList, LinkedList, Stack, Queue Implementations |
| 25 | Binary Search Trees | BST Operations, Deletion, Compression |
| 26 | AVL Trees | Balancing, Rotations, Insert/Delete Implementation |
| 27 | Hashing | Hash Functions, Collisions, HashMap/HashSet Implementation |
| 28 | Graphs and Applications | Representation, DFS, BFS, Case Studies |
| 29 | Weighted Graphs and Applications | MST, Shortest Path Algorithms |
| 30 | Aggregate Operations for Streams | Stream API, Parallel Streams, Collectors, Grouping |
- Java SE 17+
- JDK and IntelliJ IDEA / Eclipse
- Uses OOP principles, Collections Framework, and Java Stream API