8000 GitHub - SakibvHossain/Basic_DSA_List
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

SakibvHossain/Basic_DSA_List

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Basics of Data Structures and Algorithms (DSA)

1. Data Structures

  • Arrays

    • Fixed-size container storing elements of the same type.
    • Operations: Traversal, Insertion, Deletion, Searching.
  • Linked Lists

    • Sequence of nodes where each node points to the next.
    • Types: Singly Linked List, Doubly Linked List, Circular Linked List.
    • Operations: Insertion, Deletion, Searching.
  • Stacks

    • LIFO (Last In, First Out) data structure.
    • Operations: Push, Pop, Peek.
    • Use Cases: Expression evaluation, Backtracking.
  • Queues

    • FIFO (First In, First Out) data structure.
    • Types: Simple Queue, Circular Queue, Priority Queue, Deque.
    • Operations: Enqueue, Dequeue, Peek.
    • Use Cases: Task scheduling, Buffer management.
  • Trees

    • Hierarchical data structure with nodes.
    • Types: Binary Tree, Binary Search Tree (BST), AVL Tree, Red-Black Tree, B-Trees, Heap.
    • Operations: Insertion, Deletion, Traversal (Inorder, Preorder, Postorder).
  • Graphs

    • Set of nodes (vertices) connected by edges.
    • Types: Directed, Undirected, Weighted, Unweighted.
    • Representations: Adjacency List, Adjacency Matrix.
    • Operations: Traversal (DFS, BFS), Shortest Path, Minimum Spanning Tree.
  • Hash Tables

    • Key-value data structure with fast access times.
    • Operations: Insert, Search, Delete.
    • Collision Handling: Chaining, Open Addressing.

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
    • Counting Sort
    • Radix Sort
  • Recursion

    • Method where a function calls itself.
    • Use Cases: Factorial, Fibonacci, Towers of Hanoi, Backtracking.
  • Dynamic Programming

    • Optimization technique for solving complex problems by breaking them down.
    • Examples: Fibonacci Sequence, Knapsack Problem, Longest Common Subsequence (LCS), Matrix Chain Multiplication.
  • Greedy Algorithms

    • Makes optimal choices at each step.
    • Examples: Fractional Knapsack, Activity Selection, Dijkstra's Algorithm for shortest path.
  • Backtracking

    • Builds solutions incrementally and abandons them if they aren’t feasible.
    • Examples: N-Queens, Sudoku Solver, Subset Sum Problem.
  • Divide and Conquer

    • Divides the problem into subproblems, solves them independently, and combines them.
    • Examples: Merge Sort, Quick Sort, Binary Search, Closest Pair of Points.

3. Commonly Used Techniques

  • Two-Pointer Technique - Efficiently process elements in pairs or subsets of an array.
  • Sliding Window Technique - Optimized way to find a subarray or substring with specific properties.
  • Binary Search on Answer - Solving optimization problems by binary search on a sorted range.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0