Skip to content

🧮 Algorithms and Data Structures in several Programming Languages

License

Notifications You must be signed in to change notification settings

kelvins/algorithms-and-data-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧮 Algorithms and Data Structures

This repository provides several classic algorithms and data structures in Computer Science, as well as some extra problems that are frequently encountered in programming challenges.

In order to achieve greater coverage and encourage more people to contribute to the project, the algorithms are available in the following languages: C, C++, Java, Python, Go, Ruby, Javascript, Swift, Rust, Scala and Kotlin.

Algorithms
A* Algorithm
Bellman-Ford Algorithm
Binary Search
Connected Components
Dijkstra's Algorithm
Exponentiation (Iterative)
Exponentiation (Recursive)
Factorial (Iterative)
Factorial (Recursive)
Fibonacci (Iterative)
Fibonacci (Memoization)
Fibonacci (Recursive)
Floyd–Warshall Algorithm
Ford-Fulkerson Algorithm
Gale-Shapley Algorithm
Genetic Algorithm
Graph Search
Hamiltonian Cycle
Huffman's Algorithm
Hungarian Algorithm
Interpolation Search
Knight's Tour
Kruskal's Algorithm
Linear Search (Iterative)
Linear Search (Recursive)
Linear Search (Sentinel)
LZ77 Algorithm
Max (Recursive)
Min and Max (D&C)
Min and Max (Iterative)
Min and Max (Recursive)
Prim's Algorithm
Tower of Hanoi
Travelling Salesman
Data Structures
AVL Tree
Binary Search Tree
Binary Tree
Circular Linked List
Double-ended Queue
Dynamic Queue
Dynamic Stack
Doubly Linked List
Graph
Hash Table
Queue
Red-Black Tree
Ring Buffer
Singly Linked List
Skip List
Sorted Linked List
Stack
Unordered Linked List
Sorting Algorithms
Bogosort
Bubble Sort
Bucket Sort
Cocktail Sort
Comb Sort
Counting Sort
Gnome Sort
Heapsort
Insertion Sort
Merge Sort
Quicksort
Radix Sort
Selection Sort
Shell Sort
Timsort
Topological Sort
Extra
Find Distinct Subsets
Isogram
Leibniz Formula for Pi
Maze-Solving Algorithm
Palindrome
Queue using Stacks
Rotten Oranges
Two-Sum Problem

🍻 Contributing

Feel free to contribute to the project, all contributions are welcome. 😁

If you have questions about how to contribute, take a look at the CONTRIBUTING file.