Please enable JavaScript.
Coggle requires JavaScript to display documents.
ALGORITHMS, Algorithms notes for professionals (Getting started with…
ALGORITHMS
Algorithms notes for professionals
Getting started with algorithms
Algorithm complexity
Big-O notation
4.Trees
Binary search trees
Check if a tree is BST or not
Binary tree traversals
Lowest common ancestor of a binary tree
Graph
Graph traversals
Dijkstra's algorithm
A* Pathfinding
A* Pathfinding algorithm
Dynamic programming
Applications of dynamic programming
Kruskal's algorithm
Greedy algorithms
Applications of greedy technique
Prim's algorithm
Bellman-Ford algorithm
Line algorithm
Floyd-Warshall algorithm
Catalan number algorithm
Multithreaded algorithms
Knuth morris Pratt (KMP) algorithm
Edit distance dynamic algorithm
Online algorithms
Sorting
Bubble sort
Merge sort
Insertion sort
Bucket sort
Quicksort
Counting sort
Cycle sort
Odd-even sort
Selection sort
Searching
Substring search
Breadth-first search
Depth first search
Hash funcitons
Traveling salesman
Knapsack problem
Equation solving
Longest common subsequence
Longest increasing subsequence
Check two strings are anagrams
Pascal's triangle
Algo:- Print a m*n matrix in square wise
Matrix exponentiation
Polynomial-time bounded algorithm for minimum vertex cover
Dynamic time warping
Fast fourier transform
Appendix A: pseudocode
MITOCW 6.046J - Design and analysis of algorithms
Course overview, interval scheduling
Divide & conquer: convex hull, median finding
Matrix multiplication and the master theorem
Divide & conquer: FFT
2-3 Trees and B-Trees
Divide & Conquer: van emde boas trees
Amortization: amortized analysis
Randomization: matrix multiply, quicksort
Randomized select and randomized quicksort
Randomization: skip list
Randomization: universal & perfect hashing
Dynamic programming
Augmentation: range trees
Dynamic programming: advanced DP
Dynamic programming: ALl-pairs shortest paths
Greedy algorithms: minimum spanning tree
Greedy algorithms
Incremental improvement: max flow, min cut
Incremental improvement: Matching
Network flow and matching
Linear programming: LP, reductions, simplex
Complexity: P, NP, NP-completeness, reductions
NP-complete problems
Complexity: approximation algorithms
Complexity: fixed-parameter algorithms
Approximation algorithms: traveling salesman problem
Synchronous distributed algorithms: symmetry-breaking, shortest-paths, spanning trees
Asynchronous distributed algorithms: shortest-paths spanning trees
Distributed algorithms
Cryptography: hash functions
Cryptography: Encryption
Cache-oblivious algorithms: medians & matrices
Cryptography: more primitives
Cache-oblivious algorithms: searching and sorting
Thomas H. Cormen - Introduction to algorithms
I Foundations
The role of algorithms in computing
Getting started
Growth of functions
Divide-and-conquer
Probabilistic analysis and Randomized algorithms
II. Sorting and order statistics
Heapsort
Quicksort
Sorting in linear time
Medians and order statistics
III. Data structures
Elementary data structures
Hash tables
Binary search trees
Red-Black Trees
Augmenting data structures
IV. Advanced design and analysis techniques
Dynamic programming
Greedy algorithms
Amortized analysis
V. Advanced data structures
B-Trees
Fibonacci Heaps
van Emde Boas Trees
Data structures for disjoint sets
VI. Graph Algorithms
Elementary graph algorithms
Minimum spanning trees
Single-source shortest paths
All-pairs shortest path
Maximum flow
VII. Selected topics
Multithreaded algorithms
Matrix operations
Linear programming
Polynomials and the FFT
Number-theoretic algorithms
String matching
Computational geometry
NP-Completeness
Approximation algorithms
VIII. appendix: Mathematical background
A. Summations
B. Sets, Etc.
C. Counting and Probability
D. Matrices