This repository contains a simple implementation to linear and non linear data structures as well as to some of their algorithms. There are basically two implementations Go and C++
- (classical data structures implementations)
- (based on MacOS Catalina/gcc)
- (ease of use, one or at most two header files per ds)
A data structure is a data organization, management and storage format that enables efficient access and modification
An Algorithm basically is a sequence of instructions, typically to solve a class of problems or perform a computation.
Big O notation is a way used to give the efficiency of an algorithm, more precisely, It tells us the growth of an algorithm
- Constant: O(1)
- Logarithmic: O(Log(n)
- Linear: O(n)
- Quadratic: O(n^2)
- Exponential: O(2^n)
- Arrays
- Linked Lists
- Stacks
- Queues
- Hash Tables (Map)
- Binary Trees
- AVL Tress
- Tries
- Heaps
- Graphs
- Undirected Graphs
need help: moboustt@student.1337.ma