Friday, November 13, 2015

Algorithms and Data Structures : Index


The way you should go about learning algorithms ( IMO) is like below


Stage 1) Basic Data Structures

These are basic structures and used to store data. Not much operation can be done on these

Linked List
Array
Structures
Matrix ; N-D array

Circular Linked List
Double Linked List
String


Stage 2)  Advanced Data Structures

I have name them advanced, since these uses basic data structures and on top of that one these are built. Also algorithm/ predefined operations are associated with them.

Queue
Stack
Circular Queue
Priority Queue

Tree
Binary Tree
Bianry Search Tree
Huffman Tree
Parent Array
Heap

Set
Adjacency List
Adjacency Matrix

Suffix Tree and LCS array


Stage 3) Algorithms

Boyer Moore Algorithm
KMP Algorithm
Karp Robin Algorithm
String Compression : Brute Force and Huffman Tree
Dijkstra , Bellman-Ford , Floyd-Marshall
Subset, Permutation,Combination Generation - Brute-Force and Backtracking
Sorting Algorithm
Tree Traversal - Pre-order, Post-order, In-order
Graph Traversal - DFS , BFS
Prim , Krushal
String reversal

Stage 4) Solving Methods

Back tracking
Recursion
Iteration
Greedy Approach
How machine stores data
Maths
Time Complexity and Space Complexity
Memorization





No comments:

Post a Comment