Data Structures are abstract ways to organize, acess and manipulate every type of data. This concept help programmers to developer solutions for innumerable problems or optimize performace of some algorithm. Have many types of Data Structures, each of them have rules and shape property to follow, these characteristics will be commented in each implementation folder.
I implemented the same data structures in three different languages(Java,C++ and Python). The main objective of this, is explore the different characteristics of each language(pointers in c++,interfaces/abstract classes/polymorphism in Java and the fexibility of python) and learn algorithm idea of each data structure.
In this repository you will find the following data structures:
- Stack
- Queue
1. Simple Queue
2. Circular Queue
- Linked List
1. Single Linked List (iteravite/recursive implementations)
2. Double Linked List (iterative/recursive implementations)
- HashTable
1. HashTable Closed Address
2. HashTable Open Address
- Binary Search Tree
- Heap
- AVL
- Splay
- SkipList
- RBTree
- BTree
For validation test cases,has been used Junit for Java , Unittest for python and lboost for C++.
- Ionésio Junior