Data Structures
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.
What’s been implemented so far:
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.
PHP
Data Structures implemented
Arrays
Lists
Trees
Stacks
Queues
Heaps
Hashtabels
Graphs
JavaScript
Data Structures implemented
Arrays
Lists
Doubly Linked List in JavaScript
Trees
Stacks
Queues
Heaps
Hashtabels
Graphs
Java
Data Structures implemented
Arrays
Lists
Trees
Self Balancing Binary Tree in Java
Stacks
Queues
Heaps
Hashtabels
Graphs
C#
Data Structures implemented
Arrays
Lists
Trees
Self Balancing Binary Tree in C#
Stacks
Queues
Heaps
Hashtabels
Graphs
Visual Basic
Data Structures implemented
Arrays
Circular Array in Visual Basic
Associative Array in Visual Basic
Lists
Doubly Linked List in Visual Basic
Trees
Self Balancing Binary Tree in Visual Basic
Red Black Tree in Visual Basic
Stacks
Circular Stack in Visual Basic
Queues
Priority Queue in Visual Basic
Circular Queue in Visual Basic
Heaps
Hashtabels
Graphs
Kotlin
Data Structures implemented
Arrays
Lists
Trees
Self Balancing Binary Tree in Kotlin
Stacks
Queues
Heaps
Hashtabels
Graphs
Getting Started
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.
Prerequisites
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.
Deployment
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.
Contributing
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.
Authors
- Stephen Hall - Initial work - halls7588
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Things that still need to get done:
- Remaining data structures in about 11 programming languages need to be built.
- All code needs to be tested and bugs documented, issue submitted, and fixed. In the projects section, Anything under the Done column needs to be tested. anyting tested and passed needs to be moved to closed column.
- TypeScript, Swift, Objective-c, Scala, and Ruby I have very little knowldge of. Hoping to find someone to take these projects over, or I will eventually teach myself these languages and do them.
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 @ halls7588@gmail.com. Otherwise I will get to it when I have time. A few languages have been completed but not tested. See below for details.