Skip to content

vidhatha/Programming-Fundamentals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programming-Fundamentals

This is a sincere effort to learn all the computer programming fundamentals that I had learnt and forgotten or never learnt. Planning to begin learning from the core fundamentals and slowly move to advanced topics.

Disclaimer: Please note, Most if not all of the material is something I have gleaned from the internet. I have tried to add the links in the References section. If I have missed anything, please let me know so that I am not infringing on any copyright.

Table of Contents

  1. Home
  2. Data Structures
    1. Static Arrays
    2. Vectors/Dynamic Arrays
    3. Lists
    4. Stacks
    5. Priority Queues
    6. Hash Tables
    7. Binary Search Trees
    8. Red-Black Trees
    9. AVL Trees
    10. Trie
    11. Segment Tree
    12. Suffix Tree
    13. B Trees
    14. kd Trees
    15. Bloom Filters
    16. Disjoint Set Data structures
    17. Fibonacci Heap
    18. Skip Lists
  3. Algorithms
    1. Basic Sorting Algorithms
      1. Insertion Sort
      2. Selection Sort
      3. Heap Sort
      4. Shuffling
      5. Selection -> TBD
    2. Divide and Conquer
      1. Binary Search
      2. MergeSort
      3. Quick Sort
        1. 3 way Quick Sort (Dijkstra)
      4. Straseen Matrix Multiplication
    3. Recursion
      1. Substituion Method
      2. Recursion Method
      3. Master's Theorem
    4. Graph Algorithms
      1. Breadth-First Search
      2. Depth First Search
      3. Topological Sort
      4. Minimum Spanning Trees
        1. Kruskals MST
        2. Prims MST
      5. Shortest Path
        1. Bellman Ford Single Source
        2. Dijkstra's Single Source
        3. Floyd-Warshall All-Pairs
        4. Johnson All-Pairs
      6. Maximum Flow
        1. Ford-Fulkerson method
        2. Maximum bi-partite matching
    5. Greedy Algorithms
      1. Activity Selection Problem
      2. Huffman Codes
    6. String Matching
      1. Native Pattern Searching
      2. Robin-Karp
      3. Knuth-Morris-Prat
      4. Finite Automata
      5. Boyes Moore
    7. Back Tracking
    8. Dynamic Programming
    9. Computational Geometry
      1. Convex Hull
        1. Jarvis March
        2. Graham Scan
      2. Closest Pair of points
      3. Line segment intersection
    10. NP Completeness
    11. Bit Manipulations
  4. C++ Fundamentals
  5. [References]

About

A humble effort to learn computer science...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages