programming_solutions
programming_solutions copied to clipboard
Repository that contains the solutions to programming problems at different online programming websites
Programming Solutions
This repository contains my solutions to classic programming problems and problems solved at different online programming websites such as Hacker Rank, Codility, LeetCode and courses
Courses
This MIT free course covers some of the most common algorithms and data structures. It assumes that you can write code in any programming language. I suggest you to watch the video and before looking at the implementation, try it yourself. Afterwards, you can compare your solution to the teacher's solution and see where you could have improved it.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/
Websites where you can study
Want to try an environment that simulates a real interview ? Coderpad is a tool being used by multiple companies to apply algorithmic challenges to the candidates. Even though, in some ocasions you're not allowed to run your code.
Topics that should be covered
| Category | Topic Name | Link |
|---|---|---|
| Search | Binary Search | https://www.geeksforgeeks.org/binary-search/ |
| Sorting | Insertion Sort | https://www.geeksforgeeks.org/insertion-sort/ |
| Sorting | Selection Sort | https://www.geeksforgeeks.org/selection-sort/ |
| Sorting | Radix Sort | https://www.geeksforgeeks.org/radix-sort/ |
| Sorting | Quick Sort | https://www.geeksforgeeks.org/quick-sort/ |
| Sorting | Merge Sort | https://www.geeksforgeeks.org/merge-sort/ |
| Sorting | Heap Sort | https://www.geeksforgeeks.org/heap-sort/ |
| Sorting | Tim Sort | https://www.geeksforgeeks.org/timsort/ |
| Algorithmic Design | Backtracking | https://www.geeksforgeeks.org/backtracking-algorithms/ |
| Algorithmic Design | Divide and Conquer | https://www.geeksforgeeks.org/divide-and-conquer-algorithm-introduction/ |
| Algorithmic Design | Dynamic Programming | https://www.geeksforgeeks.org/dynamic-programming/ |
| Algorithmic Design | Greedy Algorithms | https://www.geeksforgeeks.org/greedy-algorithms/ |
| Algorithmic Design | Recursion | https://www.geeksforgeeks.org/recursion/ |
| Data Structure | Array | https://www.geeksforgeeks.org/array-data-structure/ |
| Data Structure | Stack | https://www.geeksforgeeks.org/stack-data-structure/ |
| Data Structure | Queue | https://www.geeksforgeeks.org/queue-data-structure/ |
| Data Structure | LinkedList | https://www.geeksforgeeks.org/data-structures/linked-list/ |
| Data Structure | Tree | https://www.geeksforgeeks.org/binary-tree-data-structure/ |
| Data Structure | Binary Tree | https://www.geeksforgeeks.org/binary-tree-data-structure/ |
| Data Structure | Binary Search Tree | https://www.geeksforgeeks.org/binary-search-tree-data-structure/ |
| Data Structure | AVL Tree | https://www.geeksforgeeks.org/avl-tree-set-1-insertion/ |
| Data Structure | HashMap | https://www.geeksforgeeks.org/java-util-hashmap-in-java-with-examples/ |
| Data Structure | HashSet | https://www.geeksforgeeks.org/set-in-java/ |
| Data Structure | Disjoint Set | https://www.geeksforgeeks.org/union-find/ |
| Data Structure | Heap | https://www.geeksforgeeks.org/heap-data-structure/ |
| Data Structure | Graph | https://www.geeksforgeeks.org/graph-data-structure-and-algorithms/ |
| Data Structure | Trie | https://www.geeksforgeeks.org/trie-insert-and-search/ |
| Data Structure | Treap | https://www.geeksforgeeks.org/treap-a-randomized-binary-search-tree/ |
| Mathematics | Probability Theory | https://www.geeksforgeeks.org/mathematics-probability/ |
| Mathematics | Combinatorics | https://www.geeksforgeeks.org/mathematics-combinatorics-basics/ |
| Mathematics | Permutations | |
| Mathematics | Summation | |
| Mathematics | GCD | https://www.geeksforgeeks.org/euclidean-algorithms-basic-and-extended/ |
| Graph focused | DFS | https://www.geeksforgeeks.org/depth-first-search-or-dfs-for-a-graph/ |
| Graph focused | BFS | https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/ |
| Graph focused | Distance | https://www.geeksforgeeks.org/graph-measurements-length-distance-diameter-eccentricity-radius-center/ |
| Graph focused | Connectivity | https://www.geeksforgeeks.org/connectivity-in-a-directed-graph/ |
| Graph focused | Cycle Detection DAG | https://www.geeksforgeeks.org/detect-cycle-in-a-graph/ |
| Graph focused | Cycle Detection | https://www.geeksforgeeks.org/detect-cycle-undirected-graph/ |
| Graph focused | Traversal | https://www.geeksforgeeks.org/algorithms-gq/graph-traversals-gq/ |
| Graph focused | Representation | Maps, Adajcency List, Matrix, Graph Objects |
Extend this list
If you feel that there's an important topic that should be added, feel free to create pull request.