<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Anshuman's Blog]]></title><description><![CDATA[Anshuman's Blog]]></description><link>https://alpharoger.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 12:45:28 GMT</lastBuildDate><atom:link href="https://alpharoger.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Top 50 DSA Algorithms]]></title><description><![CDATA[Sorting Algorithms
1. Bubble Sort: Repeatedly swaps adjacent elements if they are in the wrong order.
2. Selection Sort: Repeatedly selects the smallest element and swaps it with the current position.
3. Insertion Sort: Builds the sorted array one it...]]></description><link>https://alpharoger.hashnode.dev/top-50-dsa-algorithms</link><guid isPermaLink="true">https://alpharoger.hashnode.dev/top-50-dsa-algorithms</guid><category><![CDATA[data structures]]></category><category><![CDATA[data structure and algorithms ]]></category><dc:creator><![CDATA[Anshuman Sinha]]></dc:creator><pubDate>Mon, 08 Jul 2024 10:31:14 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1720434762464/10eda58f-8b3f-45d1-a32d-291c96cd7184.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Sorting Algorithms</p>
<p>1. Bubble Sort: Repeatedly swaps adjacent elements if they are in the wrong order.</p>
<p>2. Selection Sort: Repeatedly selects the smallest element and swaps it with the current position.</p>
<p>3. Insertion Sort: Builds the sorted array one item at a time by repeatedly inserting the next item into its proper place.</p>
<p>4. Merge Sort: A divide-and-conquer algorithm that splits the array into halves, sorts each half, and then merges them back together.</p>
<p>5. Quick Sort: A divide-and-conquer algorithm that selects a pivot and partitions the array around the pivot, recursively sorting the partitions.</p>
<p>6. Heap Sort: Uses a binary heap data structure to sort elements.</p>
<p>7. Radix Sort: Non-comparative integer sorting algorithm that sorts by processing individual digits.</p>
<p>Searching Algorithms</p>
<p>8. Linear Search: Sequentially checks each element until the target is found or the list ends.</p>
<p>9. Binary Search: Efficiently finds the target in a sorted array by repeatedly dividing the search interval in half.</p>
<p>Graph Algorithms</p>
<p>10. Depth-First Search (DFS): Explores as far as possible along each branch before backtracking.</p>
<p>11. Breadth-First Search (BFS): Explores all neighbors at the present depth prior to moving on to nodes at the next depth level.</p>
<p>12. Dijkstra's Algorithm: Finds the shortest path between nodes in a graph with non-negative weights.</p>
<p>13. Bellman-Ford Algorithm: Computes shortest paths from a single source vertex to all other vertices in a graph with negative weights.</p>
<p>14. Floyd-Warshall Algorithm: Finds shortest paths between all pairs of vertices.</p>
<p>15. Prim's Algorithm: Finds the minimum spanning tree for a weighted undirected graph.</p>
<p>16. Kruskal's Algorithm: Finds the minimum spanning tree by sorting all edges and adding them one by one.</p>
<p>Tree Algorithms</p>
<p>17. Binary Tree Traversal (In-order, Pre-order, Post-order): Various methods to traverse a binary tree.</p>
<p>18. Binary Search Tree (BST) Insertion/Deletion: Operations to maintain the BST property.</p>
<p>19. AVL Tree: A self-balancing binary search tree.</p>
<p>20. Red-Black Tree: A balanced binary search tree with additional properties to ensure balance.</p>
<p>21. Segment Tree: A tree used for storing intervals or segments.</p>
<p>22. Fenwick Tree (Binary Indexed Tree): A tree structure to provide efficient methods for cumulative frequency tables.</p>
<p>Dynamic Programming</p>
<p>23. Knapsack Problem: Finds the most valuable combination of items that fit in a knapsack of a given capacity.</p>
<p>24. Longest Common Subsequence (LCS): Finds the longest subsequence present in both given sequences.</p>
<p>25. Longest Increasing Subsequence (LIS): Finds the longest increasing subsequence in a given sequence.</p>
<p>26. Fibonacci Sequence: Computes the nth Fibonacci number.</p>
<p>27. Matrix Chain Multiplication: Determines the most efficient way to multiply a given sequence of matrices.</p>
<p>28. 0/1 Knapsack Problem: A specific case of the knapsack problem where each item can be taken or left.</p>
<p>Greedy Algorithms</p>
<p>29. Activity Selection Problem: Selects the maximum number of activities that don't overlap.</p>
<p>30. Huffman Coding: Constructs a prefix-free binary tree for optimal encoding.</p>
<p>31. Job Sequencing Problem: Schedules jobs to maximize profit.</p>
<p>String Algorithms</p>
<p>32. KMP Algorithm: Searches for occurrences of a pattern within a text using a partial match table.</p>
<p>33. Rabin-Karp Algorithm: Searches for pattern occurrences using hashing.</p>
<p>34. Longest Palindromic Substring: Finds the longest substring which is a palindrome.</p>
<p>35. Z Algorithm: Finds all occurrences of a pattern in a text.</p>
<p>Miscellaneous Algorithms</p>
<p>36. Union-Find (Disjoint Set): Tracks and merges disjoint sets.</p>
<p>37. Topological Sort: Linear ordering of vertices in a directed acyclic graph (DAG).</p>
<p>38. Trie: A tree-like data structure used to store a dynamic set of strings.</p>
<p>39. Bit Manipulation: Various algorithms that use bitwise operations.</p>
<p>40. Reservoir Sampling: A random sampling algorithm for unknown or very large data sets.</p>
<p>41. Bloom Filter: A space-efficient probabilistic data structure used to test whether an element is a member of a set.</p>
<p>Number Theory</p>
<p>42. Sieve of Eratosthenes: Finds all prime numbers up to a given limit.</p>
<p>43. Euclidean Algorithm: Computes the greatest common divisor (GCD) of two integers.</p>
<p>44. Modular Exponentiation: Computes \(a^b \\mod c\) efficiently.</p>
<p>45. Chinese Remainder Theorem: Solves systems of simultaneous congruences.</p>
<p>Advanced Data Structures</p>
<p>46. Hash Tables: Maps keys to values using a hash function.</p>
<p>47. Priority Queue: A data structure where each element has a priority, and the highest priority element is served first.</p>
<p>48. B-Tree: A self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions.</p>
<p>49. Skip List: A data structure that allows fast search within an ordered sequence of elements.</p>
<p>Computational Geometry</p>
<p>50. Convex Hull: Finds the smallest convex polygon that can contain all the given points.</p>
]]></content:encoded></item></channel></rss>