Skip to content

gankoji/datastructures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures Across Languages

This project aims, simply, to demonstrate basic implementations of some of the most common data structures in computer science, across as many different programming languages as I can manage. You'll notice that at the moment, that only includes C and Python, and the list of data structures implemented is also quite small. I intend to continue this work and flesh out both lists, but I wanted to get this up and out in the world to be shared while I worked on it.

Roadmap

Data Structures To Be Covered

The very basics: - Arrays - Singly Linked Lists - Doubly Linked Lists

The second order structures: - Stacks - Queues - Deques - Heaps

A couple of variants of trees, for good measure: - Binary Search Trees - B-Trees - Tries (Also called prefix trees)

Languages To Be Covered

I'm originally a C programmer (I 'grew up' in tech as an embedded systems engineer), but I also have enough experience in Python, Java, and a few others to be dangerous. My tentative list, to be reviewed/changed/scrapped on a whim, is as follows:

  • Python (In Progress)
  • C (In Progress)
  • C++
  • Java and/or C#
  • Scheme
  • Clojure
  • Ruby
  • Javascript (Unlikely, but hey that'd be kinda cool...)

What to expect if you stumble across this repo and decide to watch it

I plan to come back to this project from time to time, adding to the implementations as I have time and motivation to do so. A large part of the motivation for this project was to have a publicly visible tracker for the progress I make as I learn new languages and technologies (like Clojure and Javascript, which I'm completely new to), while also providing some semblance of value to the community. I do not guarantee that any of this code will be of use to anyone outside of a pedagogical viewpoint, but I hope that you might find inspiration in it or even some use for it when you need an implementation in a pinch. I will endeavor in each implementation to make the performance as good as I can, but also make no guarantees that they'll be anywhere near as good as professionally supported or widely used open source implementations for each respective language.

Licensing

Finally, note that while I've opted for the MIT license here so as to make reuse of this code a possibility even in places where open sourcing your own codebase impossible, I do strongly encourage doing so when it is possible.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published