{"id":48673,"date":"2025-03-03T10:36:31","date_gmt":"2025-03-03T10:36:31","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=48673"},"modified":"2026-02-21T07:26:34","modified_gmt":"2026-02-21T07:26:34","slug":"list-of-algorithms-and-data-structures","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/list-of-algorithms-and-data-structures\/","title":{"rendered":"List of Algorithms and Data Structures"},"content":{"rendered":"\n<p>Here&#8217;s a <strong>comprehensive list of Algorithms and Data Structures<\/strong> categorized for easy understanding:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"1350\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2025\/03\/1695123284294.gif\" alt=\"\" class=\"wp-image-48674\"><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 <strong>Data Structures<\/strong><\/h2>\n\n\n\n<p>Data structures help in organizing and storing data efficiently.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Linear Data Structures<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Array<\/strong> \u2013 Fixed-size collection of elements.<\/li>\n\n\n\n<li><strong>Linked List<\/strong> \u2013 Dynamically allocated list (Singly, Doubly, Circular).<\/li>\n\n\n\n<li><strong>Stack<\/strong> \u2013 LIFO (Last In, First Out).<\/li>\n\n\n\n<li><strong>Queue<\/strong> \u2013 FIFO (First In, First Out).\n<ul class=\"wp-block-list\">\n<li><strong>Deque (Double-ended Queue)<\/strong> \u2013 Insertion\/removal from both ends.<\/li>\n\n\n\n<li><strong>Priority Queue<\/strong> \u2013 Elements prioritized based on key.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Non-Linear Data Structures<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Trees<\/strong>\n<ul class=\"wp-block-list\">\n<li>Binary Tree<\/li>\n\n\n\n<li>Binary Search Tree (BST)<\/li>\n\n\n\n<li>AVL Tree (Self-balancing BST)<\/li>\n\n\n\n<li>B-Trees &amp; B+ Trees (Used in databases)<\/li>\n\n\n\n<li>Heap (Max-Heap, Min-Heap)<\/li>\n\n\n\n<li>Trie (Prefix Tree)<\/li>\n\n\n\n<li>Red-Black Tree<\/li>\n\n\n\n<li>Splay Tree<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Graphs<\/strong>\n<ul class=\"wp-block-list\">\n<li>Directed and Undirected Graphs<\/li>\n\n\n\n<li>Weighted and Unweighted Graphs<\/li>\n\n\n\n<li>Adjacency Matrix &amp; Adjacency List<\/li>\n\n\n\n<li>DAG (Directed Acyclic Graph)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Hashing<\/strong>\n<ul class=\"wp-block-list\">\n<li>Hash Table (Used in dictionaries, caching)<\/li>\n\n\n\n<li>Hash Map (Key-Value Pair Storage)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 <strong>Algorithms<\/strong><\/h2>\n\n\n\n<p>Algorithms are step-by-step computational procedures for solving problems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Searching Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Linear Search<\/strong> (O(n))<\/li>\n\n\n\n<li><strong>Binary Search<\/strong> (O(log n))<\/li>\n\n\n\n<li><strong>Jump Search<\/strong> (O(\u221an))<\/li>\n\n\n\n<li><strong>Exponential Search<\/strong> (O(log n))<\/li>\n\n\n\n<li><strong>Ternary Search<\/strong> (Divides search range into three parts)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Sorting Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Comparison-Based Sorting<\/strong>\n<ul class=\"wp-block-list\">\n<li>Bubble Sort (O(n\u00b2))<\/li>\n\n\n\n<li>Selection Sort (O(n\u00b2))<\/li>\n\n\n\n<li>Insertion Sort (O(n\u00b2))<\/li>\n\n\n\n<li>Merge Sort (O(n log n))<\/li>\n\n\n\n<li>Quick Sort (O(n log n))<\/li>\n\n\n\n<li>Heap Sort (O(n log n)<\/li>\n\n\n\n<li>Shell Sort (Improvement over insertion sort)<\/li>\n\n\n\n<li>Tim Sort (Hybrid of Merge &amp; Insertion Sort)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Non-Comparison-Based Sorting<\/strong>\n<ul class=\"wp-block-list\">\n<li>Counting Sort (O(n + k))<\/li>\n\n\n\n<li>Radix Sort (O(nk))<\/li>\n\n\n\n<li>Bucket Sort (O(n))<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Graph Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Breadth-First Search (BFS)<\/strong> \u2013 Level-order traversal.<\/li>\n\n\n\n<li><strong>Depth-First Search (DFS)<\/strong> \u2013 Recursive or stack-based traversal.<\/li>\n\n\n\n<li><strong>Dijkstra\u2019s Algorithm<\/strong> \u2013 Shortest path (Single source).<\/li>\n\n\n\n<li><strong>Bellman-Ford Algorithm<\/strong> \u2013 Handles negative weights.<\/li>\n\n\n\n<li><strong>Floyd-Warshall Algorithm<\/strong> \u2013 All-pairs shortest paths.<\/li>\n\n\n\n<li><strong>Kruskal\u2019s Algorithm<\/strong> \u2013 Minimum Spanning Tree (MST).<\/li>\n\n\n\n<li><strong>Prim\u2019s Algorithm<\/strong> \u2013 MST using priority queue.<\/li>\n\n\n\n<li><em>A Algorithm<\/em>* \u2013 Heuristic search for shortest path.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Dynamic Programming (DP) Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fibonacci Series<\/strong> (Memoization &amp; Tabulation)<\/li>\n\n\n\n<li><strong>Knapsack Problem<\/strong> (0\/1 Knapsack, Fractional Knapsack)<\/li>\n\n\n\n<li><strong>Longest Common Subsequence (LCS)<\/strong><\/li>\n\n\n\n<li><strong>Longest Increasing Subsequence (LIS)<\/strong><\/li>\n\n\n\n<li><strong>Matrix Chain Multiplication<\/strong><\/li>\n\n\n\n<li><strong>Coin Change Problem<\/strong><\/li>\n\n\n\n<li><strong>Edit Distance (Levenshtein Distance)<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Greedy Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Huffman Coding<\/strong> (Data compression)<\/li>\n\n\n\n<li><strong>Activity Selection Problem<\/strong><\/li>\n\n\n\n<li><strong>Job Sequencing Problem<\/strong><\/li>\n\n\n\n<li><strong>Kruskal\u2019s Algorithm<\/strong> (for MST)<\/li>\n\n\n\n<li><strong>Prim\u2019s Algorithm<\/strong> (for MST)<\/li>\n\n\n\n<li><strong>Dijkstra\u2019s Algorithm<\/strong> (for shortest path)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. String Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Na\u00efve Pattern Matching<\/strong><\/li>\n\n\n\n<li><strong>Knuth-Morris-Pratt (KMP) Algorithm<\/strong><\/li>\n\n\n\n<li><strong>Rabin-Karp Algorithm<\/strong><\/li>\n\n\n\n<li><strong>Z-Algorithm<\/strong><\/li>\n\n\n\n<li><strong>Suffix Array and Suffix Tree<\/strong><\/li>\n\n\n\n<li><strong>Aho-Corasick Algorithm<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Bit Manipulation Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bitwise AND, OR, XOR operations<\/strong><\/li>\n\n\n\n<li><strong>Counting set bits (Brian Kernighan&#8217;s Algorithm)<\/strong><\/li>\n\n\n\n<li><strong>Checking if a number is a power of two<\/strong><\/li>\n\n\n\n<li><strong>Swapping two numbers without extra space<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8. Divide and Conquer Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Merge Sort<\/strong><\/li>\n\n\n\n<li><strong>Quick Sort<\/strong><\/li>\n\n\n\n<li><strong>Binary Search<\/strong><\/li>\n\n\n\n<li><strong>Strassen\u2019s Matrix Multiplication<\/strong><\/li>\n\n\n\n<li><strong>Closest Pair of Points Problem<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>9. Backtracking Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>N-Queens Problem<\/strong><\/li>\n\n\n\n<li><strong>Sudoku Solver<\/strong><\/li>\n\n\n\n<li><strong>Maze Solving (Rat in a Maze)<\/strong><\/li>\n\n\n\n<li><strong>Subset Sum Problem<\/strong><\/li>\n\n\n\n<li><strong>Hamiltonian Cycle<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>10. Computational Geometry Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Convex Hull (Graham\u2019s Scan, Jarvis March)<\/strong><\/li>\n\n\n\n<li><strong>Line Intersection<\/strong><\/li>\n\n\n\n<li><strong>Point in Polygon Test<\/strong><\/li>\n\n\n\n<li><strong>Closest Pair of Points Algorithm<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>11. Number Theory Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Greatest Common Divisor (GCD) \u2013 Euclidean Algorithm<\/strong><\/li>\n\n\n\n<li><strong>Sieve of Eratosthenes (Prime numbers)<\/strong><\/li>\n\n\n\n<li><strong>Modular Exponentiation<\/strong><\/li>\n\n\n\n<li><strong>Fermat\u2019s Little Theorem<\/strong><\/li>\n\n\n\n<li><strong>Chinese Remainder Theorem<\/strong><\/li>\n\n\n\n<li><strong>Miller-Rabin Primality Test<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>12. Game Theory Algorithms<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Minimax Algorithm<\/strong><\/li>\n\n\n\n<li><strong>Alpha-Beta Pruning<\/strong><\/li>\n\n\n\n<li><strong>Nim Game Strategy<\/strong><\/li>\n\n\n\n<li><strong>Sprague-Grundy Theorem<\/strong><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\">\n\n\n\n<p>This is a <strong>high-level overview<\/strong> of the most common <strong>data structures and algorithms<\/strong> used in computer science and competitive programming.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s a comprehensive list of Algorithms and Data Structures categorized for easy understanding: \ud83d\udd39 Data Structures Data structures help in organizing and storing data efficiently. 1. Linear Data Structures 2&#8230;. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-48673","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=48673"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48673\/revisions"}],"predecessor-version":[{"id":58915,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48673\/revisions\/58915"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=48673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=48673"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=48673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}