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