0% found this document useful (0 votes)
37 views

Algorithm

The document provides an overview of algorithms and data structures that a good programmer should know, organized from basic to more advanced topics. It covers linear data structures, sorting algorithms, graph algorithms, string matching, math techniques, and more advanced topics like computational geometry and bit manipulation.

Uploaded by

Syed Misbah
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Algorithm

The document provides an overview of algorithms and data structures that a good programmer should know, organized from basic to more advanced topics. It covers linear data structures, sorting algorithms, graph algorithms, string matching, math techniques, and more advanced topics like computational geometry and bit manipulation.

Uploaded by

Syed Misbah
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

What algorithms should I know to become a good

programmer?

First start with Linear data diameter, depth, number of nodes,


structures and algorithms. etc.
Arrays Heaps - Array Implementation,
Linked List Heapify, Heap Sort
Stack Union Find
Queues Hash Table - Linear Probing, Open
addressing, Collision avoidance
Then move to basic algorithms:
Sorting - Merge Sort, Insertion
Sort, Quick Sort, Number of Then you can learn about Graphs:
inversions Adjacency List, Adjacency Matrix,
Matrix Multiplication (just know Weighted Edge Graphs
the algo if not implement it) Basic Traversal algos - Breadth
Prime Sieving First Search, Depth First Search, etc
Modular Math including Shortest Path Finding Algorithm -
multiplication and division Dijkstra, Floyd Warshal, Bellman
Euclidean Algorithm for GCD, Ford
Modular Inverse, Fast Minimum Spanning Tree -
Exponentiation Kruskal's Algo, Prim's Algo
Fibonacci number with matrix
multiplication Advance Tree and Graph :
Probability distribution and Balanced Trees - AVL, Red-Black
expected value Heavy Light Decomposition, B+
Stats - Mean, Median, Variance, Trees, Quad Tree
Bayes theorem Advance Graph - Min Cut, Max
Flow
The one can learn some popular Maximum Matching - Hall's
algorithmic techniques: Marriage
Divide and Conquer - Binary Hamiltonian Cycle
Search, Maximum Subarray Edge Graphs / Line Graphs
Greedy Algorithms - Activity Strongly Connected Components
Selection, Huffman encoding Dominant Sub-Graph, Vertex
Dynamic Programming - Matrix Cover, Travelling Salesman - Approx
Chain Multiplication, Knapsack, algos
Linear Programming - Variable
Maximisation, Linear time sorting Advance String Algorithms :
String Algorithms - Manacher, Knuth Morris Pratt Algorithm
LCS, Edit Distance Rabin Karp Algorithm
Tries and Compressed Tries
Then comes some typical non-linear Prefix Trees, Suffix Trees, Suffix
data structures: Automation - Ukkonen Algorithm
Trees - Binary Tree, General Tree,
Lowest Common Ancestor Advance Math:
Binary Search Tree - Inorder Fast Fourier Tranformation
Traversal, Level order traversal, Primality Testing
finding kth largest element,
Computational Geometry - Closest Iterating through all combination /
point pair, Voronoi diagram, Convex permutation
Hull Bit manipulation

General Advance topics :

You might also like