Skip to content

ikushum/Lets-do-DataStructure-and-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 

Repository files navigation

Algorithm & Data Structures

Yay! Its the first day of 2018.

I have compiled together a comprehensive list of standard Algorithm and Data Structures below. As a new year resolution, my goal will be to implement all of these using python. Furthermore, as I go deeper down the list, I will be adding links to article and video resources, that I used to understand these concepts.

Algorithmic complexity / Big-O / Asymptotic analysis

Before even getting started implementing these algorithms, its important to know about these topics :

Data Structures (basic)

Data Structures (advanced)

Sorting Algorithms

  • Selection
  • Insertion
  • Heapsort
  • Quicksort
  • Merge sort

Graph Algorithms

  • Breadth first search (BFS)
  • Depth first search(DFS)
  • Strongly connected components (SCC)
  • Minimum spanning tree(MST)
  • Topological sort

Search Techniques

  • Linear search
  • Binary search
  • Ternary search
  • Hash Table
  • Meet in the middle
  • Interpolation Search

Dynamic programming

  • Fibonacci Number Series
  • Rod Cutting
  • Knapsack
  • Tower of Hanoi
  • Dijkstra
  • Floyd-Warshallx
  • Matrix chain multiplication

Number theory

  • Modular arithmetic
  • Fermat’s theorem
  • Chinese remainder theorem(CRT)
  • Euclidean method for GCD
  • Logarithmic Exponentiation
  • Sieve of Eratosthenes
  • Euler's totient function

Greedy Algorithm

  • Activity Selection Problem
  • Huffman Coding
  • Job Sequencing Problem

Computational geometry

  • Graham-Scan for convex hull
  • Line sweep

Game theory

  • Nim game
  • Grundy numbers
  • Sprague-Grundy theorem.

Strings

  • Knuth Morris Pratt (KMP)
  • Z algorithm
  • Suffix arrays/Suffix trees

About

A list of Data Structures and Algorithms, their implementations and resources to learn.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages