My plan is to implement common data structures and algorithms in Java as a practice. I also hope this can be a useful material for anyone who wants to learn/refresh very basic data structures and algorithms.
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Shell Sort
- Counting Sort
- Radix Sort
- Binary Search
- Array
- Ordered Array
- Linked List
- Doubly Linked List
- Stack (Array based and Linked List based)
- Queue (Array based and Linked List based)
- Two Stacks (Implementation of two stacks using one array)
- Double Ended Queue
- Binary Search Tree
- Heap (Max and Min Heap)
- Hash Table
- determine whether a string has unique characters
- determine whether two strings are anagrams
- Polish Notation
-
My Java isn't great because I have very limited experience in Java. Do let me know what I am doing wrong in terms of the implementation and the Java specific things.
-
My goal is not to implement the complete data structures, but to only implement some of the common methods. However, there will be methods that I am missing and you can also let me know if you think I am missing something.