A general list of Data Structures implemented in 15 different programming languages. Java, JavaScript, Kotlin, C#, C++, Objective-C, Swift, PHP, Python, Ruby, Type Script, Visual Basic, C, Scala and Go. I will be implementing 30 different Data Structures and many Algorithms with them as well as providing detailed explanations about each data structure. This is a work in progress and is a very massive project so please be patient as i have a life and a full time job and I am the only one working on this at the moment. This project is intended to help newer developers, code school graduates, and self-taught developers learn and grasp the basic concepts of Data Structures to help build a foundation of basic engineering concepts and algorithm design in whatever language they feel most comfortable with. The Goal on this project is to demonstrate beginning and advanced computer science and engineering principals in a simple and easy to use way. The code is written in a very simple for so that newer developer can follow along and grasp advanced topics easily.
Java, C#, kotlin and Visual Basic have been implemented fully but not tested, C++, JavaScript and PHP have been started but not finished. With 450 data structures to write in 15 different languages, I want to get the majority of the code out of the way first and fix bugs latter. Thankfully these are all pretty simple to test once i do and shouldn’t take that much time.
Below is a list of links to each of the completed data structures in respective languages. Just find the one that you want and click on the link.
Circular Array in PHP
Doubly Linked List in PHP
Linked List in PHP
Binary Tree in PHP
Arrayed Stack in PHP
Linked Stack in PHP
Arrayed Queue in PHP
Linked Queue in PHP
Circular Array in JavaScript
ArrayList in JavaScript
Doubly Linked List in JavaScript
Linked List in JavaScript
Binary Tree in JavaScript
AVL Tree in JavaScript
Red Black Tree in JavaScript
Arrayed Stack in JavaScript
Linked Stack in JavaScript
Arrayed Queue in JavaScript
Linked Queue in JavaScript
Circular Array in Java
ArrayList in Java
Arrayed Set in Java
Associative Array in Java
Sorted Array in Java
Doubly Linked List in Java
Linked List in Java
Skip List in Java
Linked Set in Java
Binary Tree in Java
B-Tree in Java
Self Balancing Binary Tree in Java
Splay Tree in Java
Red Black Tree in Java
AVL Tree in Java
Arrayed Stack in Java
Circular Stack in Java
Linked Stack in Java
Arrayed Queue in Java
Priority Queue in Java
Circular Queue in Java
Deque in Java
Linked Queue in Java
Linked Heap in Java
Arrayed Heap in Java
Heap Sort in Java
Hashset in Java
Hashtabel in Java
Undirected Graph in Java
Directed Graph in Java
Circular Array in C#
ArrayList in C#
Arrayed Set in C#
Associative Array in C#
Sorted Array in C#
Doubly Linked List in C#
Linked List in C#
Skip List in C#
Linked Set in C#
Binary Tree in C#
B-Tree in C#
Self Balancing Binary Tree in C#
Splay Tree in C#
Red Black Tree in C#
AVL Tree in C#
Arrayed Stack in C#
Circular Stack in C#
Linked Stack in C#
Arrayed Queue in C#
Priority Queue in C#
Circular Queue in C#
Deque in C#
Linked Queue in C#
Linked Heap in C#
Arrayed Heap in C#
Heap Sort in C#
Hashset in C#
Hashtable in C#
Undirected Graph in C#
Directed Graph in C#
Circular Array in Visual Basic
ArrayList in Visual Basic
Arrayed Set in Visual Basic
Associative Array in Visual Basic
Sorted Array in Visual Basic
Doubly Linked List in Visual Basic
Linked List in Visual Basic
Skip List in Visual Basic
Linked Set in Visual Basic
Binary Tree in Visual Basic
B-Tree in Visual Basic
Self Balancing Binary Tree in Visual Basic
Splay Tree in Visual Basic
Red Black Tree in Visual Basic
AVL Tree in C#
Arrayed Stack in Visual Basic
Circular Stack in Visual Basic
Linked Stack in Visual Basic
Arrayed Queue in Visual Basic
Priority Queue in Visual Basic
Circular Queue in Visual Basic
Deque in Visual Basic
Linked Queue in Visual Basic
Linked Heap in Visual Basic
Arrayed Heap in Visual Basic
Heap Sort in Visual Basic
Hashset in Visual Basic
Hashtable in Visual Basic
Undirected Graph in Visual Basic
Directed Graph in Visual Basic
Circular Array in Kotlin
ArrayList in Kotlin
Arrayed Set in Kotlin
Associative Array in Kotlin
Sorted Array in Kotlin
Doubly Linked List in Kotlin
Linked List in Kotlin
Skip List in Kotlin
Linked Set in Kotlin
Binary Tree in Kotlin
B-Tree in Kotlin
Self Balancing Binary Tree in Kotlin
Splay Tree in Kotlin
Red Black Tree in Kotlin
AVL Tree in Java
Arrayed Stack in Kotlin
Circular Stack in Kotlin
Linked Stack in Kotlin
Arrayed Queue in Kotlin
Priority Queue in Kotlin
Circular Queue in Kotlin
Deque in Java
Linked Queue in Kotlin
Linked Heap in Kotlin
Arrayed Heap in Kotlin
Heap Sort in Java
Hashset in Kotlin
Hashtabel in Kotlin
Undirected Graph in Kotlin
Directed Graph in Kotlin
Download or clone the Repo, Load your IDE of choice, Pick your language and pick you’re Data Structure, and the code should be ready to use. Please not that this code has been tested and it may require some minor changes to work.
Depending on the language you wish to use, you will need a compatible IDE capable of running the type of code you are using. Place note these were not built to be projects but rather to be added to your own project. In example:
To use the C# Binary Tree, clone the tree and place it into your Visual Studio Project
To Use the Java Linked List, clone the List and place it into you IntelliJ project
ect. ect.
Please note, this code was intended to help newer developers to grasp the concepts of various Data Structures. View the projects section of for the language and data structure you want. If the data structure in question has not been moved to the closed column, then the code has not been tested and may not work or may need modification to work properly.
Please read CONTRIBUTING.md And CODE_OF_CONDUCT.md for details on our code of conduct, and the process for submitting pull requests to us.
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
This is a great project for a college student to gain expirence or for another developer who wants to get expirence with data structures and algorithms. Im available to help out as needed.
If you would like to contribute please contact me @ [email protected]. Otherwise I will get to it when I have time. A few languages have been completed but not tested. See below for details.