This repository contains a collection of fundamental data structures and algorithms for future reference.
- Hash Tables
- Linear Probing Hash Table (com.paulormg.ds.hashtable.LinearProbingHashTable)
- Separate Chaining Hash Table (com.paulormg.ds.hashtable.SeparateChainingHashTable)
- Queues
- Array-based queue (com.paulormg.ds.queue.ArrayQueue)
- Linked-list-based queue (com.paulormg.ds.queue.LinkedListQueue)
- Stacks
- Array-based stack (com.paulormg.ds.stack.ArrayStack)
- Linked-list-based stack (com.paulormg.ds.stack.LinkedListStack)
- Source code is located on "./src" folder.
- Unit tests are located on "./test" folder.
Only dependence is Junit4 jar for unit testing.
Algorithms and data structures implemented by Paulo Ricardo Motta Gomes (github.com/pauloricardomg). More info about the author (such as blog, CV, contact info, etc) on: http://paulormg.com.
Most of the implementations in this project are based on lectures from the Coursera course "Algorithms, Part I" of Princeton University (https://www.coursera.org/course/algs4partI) and its reference textbook "Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne".