LorenzoAblis / python-algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

planned algos

  1. Sorting Algorithms:
    Bubble Sort
    Selection Sort
    Insertion Sort
    Merge Sort
    Quick Sort
    Heap Sort

  2. Searching Algorithms:
    Linear Search
    Binary Search

  3. Graph Algorithms:
    Depth-First Search (DFS)
    Breadth-First Search (BFS)
    Dijkstra's Algorithm
    Bellman-Ford Algorithm
    Topological Sort

  4. Tree Algorithms:
    Binary Search Tree (BST) Operations
    Tree Traversal (Inorder, Preorder, Postorder)
    Heap (Binary Heap) Operations

  5. Dynamic Programming:
    Fibonacci Series
    Longest Common Subsequence (LCS)
    Knapsack Problem

  6. Divide and Conquer:
    Closest Pair of Points
    Strassen's Matrix Multiplication

  7. Greedy Algorithms:
    Fractional Knapsack
    Huffman Coding

  8. Backtracking Algorithms:
    N-Queens Problem
    Sudoku Solver

  9. String Algorithms:
    String Matching Algorithms (Naive, KMP, Rabin-Karp)
    Edit Distance (Levenshtein Distance)

  10. Numerical Algorithms:
    Euclidean Algorithm (GCD)
    Sieve of Eratosthenes (Prime Numbers)
    Fast Exponentiation (Power in Logarithmic Time)

  11. Dynamic Data Structures:
    Linked Lists
    Stacks
    Queues

  12. Hashing:
    Hash Tables
    Collision Resolution Techniques (Chaining, Open Addressing)

  13. Bit Manipulation:
    Bitwise AND, OR, XOR, NOT
    Bitwise Shifts

  14. Advanced Data Structures:
    Trie
    Segment Tree
    Fenwick Tree (Binary Indexed Tree)

  15. Randomized Algorithms:
    Randomized QuickSort
    Monte Carlo Algorithms

  16. Graph Theory Concepts:
    Minimum Spanning Tree
    Shortest Path Algorithms
    Network Flow Algorithms

  17. Computational Geometry:
    Convex Hull Algorithms
    Line Intersection

  18. Advanced Algorithms:
    Bloom Filters
    Suffix Trees

  19. Algorithmic Paradigms:
    Greedy Algorithms
    Dynamic Programming
    Divide and Conquer

About


Languages

Language:Python 100.0%