Classification within DSA?

Data Structures and Algorithms (DSA) is a broad field that can be categorized in several ways. Here’s an overview of the different categories:

1.Data Structures

    • Primitive Data Structures
      • Integers
      • Floats
      • Characters
      • Booleans
    • Non-Primitive Data Structures
      • Linear Data Structures:
        • Arrays: Collection of elements identified by index or key.
        • Linked Lists: Sequence of elements where each element points to the next.
          • Singly Linked List
          • Doubly Linked List
          • Circular Linked List
        • Stacks: Collection with Last In First Out (LIFO) order.
        • Queues: Collection with First In First Out (FIFO) order.
          • Simple Queue
          • Circular Queue
          • Priority Queue
          • Dequeue
    • Non-Linear Data Structures:
      • Trees: Hierarchical structure with a root element and sub-elements.
        • Binary Tree
        • Binary Search Tree (BST)
        • AVL Tree
        • Red-Black Tree
        • B-Trees and B+ Trees
      • Graphs: Set of nodes connected by edges.
        • Directed Graph
        • Undirected Graph
        • Weighted Graph
        • Unweighted Graph
      • Hashing:
        • Hash Tables: Stores key-value pairs and uses a hash function to compute an index into an array of buckets or slots.

2. Algorithms

  • Searching Algorithms
    • Linear Search
    • Binary Search
    • Depth-First Search (DFS)
    • Breadth-First Search (BFS)
  • Sorting Algorithms
    • Bubble Sort
    • Selection Sort
    • Insertion Sort
    • Merge Sort
    • Quick Sort
    • Heap Sort
    • Radix Sort
  • Recursive Algorithms
    • Factorial Calculation
    • Fibonacci Sequence
    • Tower of Hanoi
  • Dynamic Programming
    • Knapsack Problem
    • Longest Common Subsequence
    • Longest Increasing Subsequence
    • Matrix Chain Multiplication
  • Greedy Algorithms
    • Activity Selection Problem
    • Huffman Coding
    • Kruskal’s Algorithm
    • Prim’s Algorithm
  • Divide and Conquer
    • Merge Sort
    • Quick Sort
    • Binary Search
  • Backtracking
    • N-Queens Problem
    • Sudoku Solver
    • Subset Sum Problem
  • Graph Algorithms
    • Dijkstra’s Algorithm
    • Bellman-Ford Algorithm
    • Floyd-Warshall Algorithm
    • Kruskal’s Algorithm
    • Prim’s Algorithm

3. Advanced Topics

  • String Algorithms
    • Knuth-Morris-Pratt (KMP) Algorithm
    • Rabin-Karp Algorithm
    • Z Algorithm
  • Computational Geometry
    • Convex Hull
    • Line Intersection
  • Network Flow
    • Ford-Fulkerson Algorithm
    • Edmonds-Karp Algorithm

4. Complexity Analysis

  • Time Complexity
  • Space Complexity

Each of these categories encompasses a variety of techniques and approaches that solve specific problems or optimize certain processes in computing. Understanding these categories helps in selecting the appropriate data structure or algorithm for a given task, which is crucial for efficient programming and problem-solving.

Subscribe
Notify of
guest
5 Comments
Inline Feedbacks
View all comments
5
0
Would love your thoughts, please comment.x
()
x