Skip to content

Manikkumar1988/ReInventWheel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Build Status codecov

ReInventWheel

This project aiming to reinvent algorithms and data structures for fun and education. It is very much a work in progress, and it likely always will be. As I hear about new algorithms or interesting data structures, I will attempt to implement them myself to gain a better understanding of how they really work.

Currently I have used Java for everything in this project.

The rest of this page provides links to each section of content and a small list of website references that I've used to come up with my list of algorithms and data structures. The items in the lists that are not links have not been implemented yet.

Algorithms:

  • Selection Sort - Insertion Sort - Bubble Sort - Merge Sort - Quicksort - Prime Testing - Prime Trial Division - Sieve of Eratosthenes - Fibonacci - Dynamic Programming, Memoization (with Project Euler examples) - Greedy - Divide and Conquer - Djikstra's - A* - Breadth First Search - Depth First Search - Bellman-Ford - Floyd-Warshall - Johnson's - Matching Algorithms? - Huffman coding? - Prim/Kruskal (Minimum Spanning Tree) - Binary Search - Convex Hull -- Graham Scan -- Monotone Chains algo? - Coordinate Compression? - Edmonds--Karp - Ford--Fulkerson - Dinie's algo - Hungarian algo - Tarjan's algo (strongly connected components) - Knuth-Morris-Pratt (string searching) - Z algorithm - Suffix arrays/trees Data Structures:
  • Linked List - Binary Search Tree - Red/Black Tree - Heap - Stack - Queue - Trie - Hash Table - Bloom Filter? - Graph - Adjacency matrix? - Range Trees, Interval Trees, Segment Trees - Binary Indexed Trees, Fenwich Trees

Releases

No releases published

Packages

No packages published

Languages