Overview
We can only see a short distance ahead, but we can see plenty there that needs to be done.
Topics to be covered :
- String Algorithms
- Number Theory
- Data Structures
- Searching Techniques
- Computational Geometry
String Algorithms
- KnuthMorrisPratt Algorithm
- Aho Corasick Algorithm
- Suffix Arrays
- Suffix Trees
- Manachar's Algorithm
KnuthMorrisPratt (KMP) Algorithm
Check whether a string W is a substring of another string S or not.
For example: bc is a substring of abcd whereas bd is not.
Takes O(|W|+|S|) time.
Aho Corasick Algorithm
It is used to find the occurrences of a word in the text.
Takes linear time.
Suffix Arrays
A sorted array of all the suffixes of a word.
Construction by various techniques and how they are used to solve most of the string problems.
Suffix Array of abac is [abac,ac,bac,c].
Suffix Trees
Tree based structure to store all the suffixes.
It allows particularly fast implementation of many string algorithms.
Construction by couple of techniques and using them to solve problems.
Manacher's Algorithm
Finding longest palindromic substring in Linear time.
Also we can find the length of palindromic substring centered at a certain position.
Data Structures
- Arrays, stacks, queues
- Linked List
- Hash Tables
- Binary Trees
- Heaps
- Tries
- Segment Trees
- Binary Indexed Trees
- Range Minimum Query
- Union Find Data Structure
Graphs (Basic)
- Representation
- Breadth First Search
- Depth First Search
- Topological Sort
- Connected Components
Graphs (Next Level)
- Dijkstra Algorithm
- Floyd Warshall Algorithm
- Bellman Ford Algorithm
- Minimum Spanning Tree
Number Theory
- Modulus Arithmetic
- Euler's Totient Theorem
- Chinese Remainder Theorem
- Primality Test
- Prime Generation Techniques
- Wilson Theorem
Searching Techniques
- Backtracking
- Binary Search
- Randomized Algorithm
Computation Geometry
- Line Sweep Algorithm
- Convex Hull
- Area of union of circles
deck
By Pulkit Goyal
deck
- 781