crack-the-code
                                
                                
                                
                                    crack-the-code copied to clipboard
                            
                            
                            
                        :key: Algorithmic solutions in Java for various problems from Cracking the Coding Interview, GeeksForGeeks
Algorithms & DS solutions in Java
[Work In Progress. Solutions for new problems added everyday.]
Trello: https://trello.com/b/oDCFM689/prep
Practice solutions for:
- Cracking the coding interview
 - GeeksForGeeks
 - Hackerrank
 - Leetcode
 
Datastructures:
- LinkedList
 - Double Linked List
 - Circular Linked List
 - Stack
 - Queue
 - Binary Search Tree
 - HashTable
 - Min & Max Heaps
 - Min & Max Priority Queues
 - Directed Graph
 - Undirected Graph
 - Weighted Graph
 - Disjoint Sets with Path Compression
 - LRU Cache
 - TODO: AVL Tree
 - TODO: Red Black Tree
 
Algorithms:
- Graph Algorithms:
- Traversal:
- DFS
 - BFS
 
 - Connected Components:
- Strongly Connected Components
 
 - Minimum Spanning Tree:
- Kruskal's Algorithm
 - Prim's Algorithm
 
 - Single Source Shortest Path:
- BellmanFord Algorithm
 - Djikstra's Algorithm
 - Shortest Path DAG
 
 - All Source Shortest Path:
- Floyd Warshall Algorithm
 - TODO: Johnson's Algorithm
 
 - Other Graph Problems:
- Topological Sort
 - Detect Cycle in a Graph(Directed & Undirected)
 
 
 - Traversal:
 - Sorting:
- Bubble Sort
 - Insertion Sort
 - Selection Sort
 - Merge Sort
 - Heap Sort
 - TODO: Quick Sort
 - TODO: Radix Sort
 
 - Dynamic Programming:
- Fibonacci Number
 - Count Ways To Reach N
 - Longest Common Subsequence
 - Longest Common Substring
 - Longest Palindromic Substring
 - Longest Palindromic Subsequence[Revisit]
 - TODO: Palindromic Substring search
 
 - TODO: Greedy Algorithms:
 - TODO: String Matching: