One stop for all mathematical , geometrical and their applications in problem-solving and understanding of the algorithms.This repository will also cover major concepts of C++ for getting a good grasp.
Added till Programming Fundamentals-1.
Please kindly follow Contribution.md to get started.
You can also contribute by sharing!
- Introduction to why algorithms are important and why they are important part in all major contests worldwide.
- Big-O, Big-theta, Big-Ohmega Notations this includes time complexity and space complexity and also way to avoid tle error in program.
- Problem format
- Problem statement
- Input
- Output
- Estimating if a problem will run on our coding style
- Estimated complexity we require to build solution
- The approach for problem solving will strictly follow the following order:
- Platforms
- GeeksForGeeks (For previous year questions from various SWE Internships)
- Hackerrank & Hackerblocks
- Codechef
- ICPC Contests and prev. years US Olympiad problems(For better grasp on algoritms)
- Coderforces(Div3>Div2..)
- Platforms
- Algorithm paradigms
- Brute force
- Divide and Conquer
- Greedy
- Dynamic Programming(VVV Important for all major SWE Internsips)
- Data Structures and their algorithms
- Arrays
- Strings
- Basic String Searching
- Knuth Morris Pratt Algorithm
- Z-Algorithm*
- Manachar's Algorithm*
- Trees
- Traversal (DFS and BFS)
- Binary Seach Tree
- AVL and Red-Black tree
- Heaps
- Priority Queue
- Heap Sort
- Construction time of a heap
- Graphs
- Construction using adjacency list
- Traversal DFS
- Disjoint Set Unions
- Minimum Spanning Trees using Kruskal and Prims Algorithm
- Minimum Distance Algorithms using Floyd-Warshall, Bellman-Ford and Dijkstra
- Maximum Flow Algorithms*
- Topological Sort*
- Will See if more needs to be done
- Hashing
- What is hashing.
- Unneccessary theory but kinda important
- Segment Tree
- Basic
- Lazy propogation*
- Persistant*
- Fenwick Binary Tree
- Stack
- A simple introduction
- Few important stack questions
- Queue
- Will be done before BFS traversal
- Trie
- Mathematics
- Cominatorics
- Euclid's GCD
- Mobius function
- Prime Numbers
- Sieve of Eratosthene
- Golbach Conjecture
- Will add on as I remember...
- Standard Template Library for C++ coders
- Vectors
- Set
- Multiset
- Maps
- Unordered Maps
- Queue
- Priority Queue
- Stack
- Deque
- Important STL Functions
- Important Algorithms that needs to be covered as well
- Sorting
- Quick Sort
- Counting Sort
- Radix Sort
- Binary Search
- Linear Search
- Kadane's Algorithm -Greedy algorithm
- Sorting