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.
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.
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.
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.
Download as DOCX, PDF, TXT or read online from Scribd
Download as docx, pdf, or txt
You are on page 1of 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
Effectiveness of Video Teaching Program On Knowledge Regarding 5Fs of Disease Transmission Food, Finger, Fluid, Fomite, Faces Among Children at Selected Setting, Chennai