← Back to Learning Hub

Algorithms Theory

DSAAlgorithmsBeginner25 min

By: Anacodic Team

Share: X · LinkedIn · Copy Link

Algorithms Theory

Sorting Algorithms

Comparison-Based Sorting

  • Bubble sort
  • Selection sort
  • Insertion sort
  • Merge sort
  • Quick sort
  • Heap sort
  • Time and space complexity analysis
  • Stability of sorting algorithms

Non-Comparison Sorting

  • Counting sort
  • Radix sort
  • Bucket sort
  • When to use non-comparison sorts

Searching Algorithms

Linear Search

  • Sequential search
  • Time complexity: O(n)
  • When to use

Binary Search

  • Binary search algorithm
  • Requirements (sorted array)
  • Time complexity: O(log n)
  • Variations (finding first/last occurrence)
  • Binary search on answer

Graph Algorithms

Shortest Path Algorithms

  • Dijkstra's algorithm
  • Bellman-Ford algorithm
  • Floyd-Warshall algorithm
  • A* algorithm

Minimum Spanning Tree

  • Kruskal's algorithm
  • Prim's algorithm
  • Applications

Other Graph Algorithms

  • Topological sort
  • Strongly connected components
  • Network flow algorithms

Dynamic Programming Intro

Concepts

  • Overlapping subproblems
  • Optimal substructure
  • Memoization vs tabulation
  • Top-down vs bottom-up approaches

Common Patterns

  • 1D DP problems
  • 2D DP problems
  • State machine DP
  • DP on trees
  • DP on strings

Classic Problems

  • Fibonacci sequence
  • Longest common subsequence
  • Knapsack problem
  • Coin change problem
  • Edit distance

Practice Questions

Test your understanding with the questions in the interactive quiz below (when available).

Resources