What is the next stage after learning basic data structures and algorithms ?
I have a collection of data structures and algorithms which are regarded as advance data structures and algorithms. I have provided advance data structures and algorithms for parallel computing too.
- In Balanced binary search trees :AVL trees ,red black trees ,B/B+ trees.
- In heap:Binomial heaps,Fibonacci heaps and operations,disjoint set representation.
- In hashing:Double hashing and Universal hashing.
- In graph algorithms :DFS ,BFS and connected Components
Kruskal and prim algorithms – shortest path problem – Dijkstra’s and bellman – ford algorithms -Johnson’s algorithm for sparse graphs – flow networks – ford fukerson algorithm – maximum bipartite matching.
Parallel algorithms :-
- PRAM models – EREW, ERCW, CREW and CRCW and relation between various models handling read and write conflicts and work efficiency
- Brent’s theorem
- Parallel merging, sorting, and connected components
- list rank
- Euler tour technique
- Parallel prefix computation
- Deterministic symmetry breaking
Pattern matching:- finite automata based methods – Rabin Karp algorithm – Knuth Morris Pratt algorithm – Boyer Moore heuristic – computational geometry – two dimensional problems – line segment intersection convex hull – Graham’s scan – Jarvis’s march technique – closest pair of points in a set