This repository is a collection of different implementations of Fundamental Data Structures and some basic algorithm.
Each folder introduces you to the core features of the language and some basic implementation to get started.
A basic implementation of data structures is provided in the Structure
section.
Data Structures - these will be implemented both in a simple version and using generic programming
for flexibility.
- Vectors
- Linked Lists
- Singly linked-list
- Doubly linked-list
- Circular linked-list
- Stacks
- Static stack
- Dynamic stack
- Queues
- Static Queue
- circular queue
- priority queue
- Dynamic Queue
- circular queue
- priority queue
- Static Queue
- Deque
- Trees
- Binary Tree
- Binary Search Tree
- AVL Tree
- Red-black Tree
- Graphs
- Vanilla implementations of graphs
Algorithms
-
Searching
- Linear Search
- Binary Search
- Breadth-first search
- Depth-first search
-
Sorting
- Bubble sort, Insertion sort, Selection sort, Shell sort
- Merge Sort, Quicksort
These are implemented in the following languages:
- C++
- C#
- Java
- Python
- Dart
- Swift
This repo is currently in development.