Capella87 / dstr-implementations

A collection of data structure implementations written in several programming languages for review.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dstr-Implementations : A Collection of Data Structure Implementations

Announcements

After my consideration, I decided to change this repository name to algorithms. I will integrate algo-implementations to this repository soon by using branch merge. The main reason is that maintaining unified repository will much be easier. Also, this repository contains sorting algorithms, so I think it is better to change the name to algorithms and integrate.

Fortunately, the smart GitHub Copilot suggested lots of algorithms and data structures that I've learned or implemented yet. I am strongly considering to implement those... Thank you GitHub Copilot!

What's This?

It has data structure and some sorting implementations in several languages. Currently I wrote in several languages.

Languages

Available

  • C
  • C++
  • C#
  • Java
  • JavaScript
  • Python

In Future

  • Go
  • Rust
  • TypeScript
  • Zig
  • Lua
  • Racket

Contents

Data Structure

  • Doubly Linked List
  • Disjoint Set
  • Heap (Array based; Max and min heap)
  • Singly Linked List
  • Stack (Linked List based)
  • Queue (Linked List based)

Graph

  • Breadth-First Search
  • Depth-First Search
  • Topological Sort
  • Undirected Graph

Search

  • Binary Search
  • Binary Search - Lower Bound
  • Binary Search - Upper Bound
  • Interpolation Search

Sorting

  • Bubble Sort
  • Cocktail Shaker Sort
  • Counting Sort
  • Exchange Sort
  • Heap Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • Selection Sort
  • Shell Sort
  • Tree Sort

Tree

  • AVL Tree
  • Binary Search Tree (BST)
  • Binary Tree
  • Trie (Prefix Tree)

Upcoming Implementations

  • Stack (Array Based)
  • Deque (Linked List based)
  • Radix Sort
  • Linear Search
  • Hash Table
  • Tree (Ordinary)
  • Splay Tree
  • Red-Black Tree
  • Bucket Sort
  • Timsort
  • Intro Sort
  • Dictionary

In Plan

  • Block Merge Sort
  • Sleep Sort
  • Pancake Sort
  • Slow Sort
  • Random Quick Sort
  • Bitonic Sort
  • Cycle Sort
  • Red-Black Tree
  • Binomial Heap
  • Comb Sort
  • Library Sort
  • Patience Sort
  • Smoothsort
  • Strand Sort
  • Tournament Sort
  • Gnome Sort
  • Bogosort
  • B- Tree
  • B+ Tree

Disclaimer

Please Do NOT copy and submit source code in this repository directly to your assignment, practice session or exams. I do NOT have any responsibilities for any disadvantages after ignoring this disclaimer.

Feedbacks

Use Issue tracker in GitHub repository for any problems or implementation requests.


Created: Nov 6, 2021 | Last Modified: Oct 10, 2023

Copyright © 2021-2023 Capella87. Licensed under MIT License.

About

A collection of data structure implementations written in several programming languages for review.

License:MIT License


Languages

Language:C 48.0%Language:C# 30.3%Language:C++ 12.4%Language:Python 5.3%Language:JavaScript 2.0%Language:Java 1.1%Language:Visual Basic .NET 1.0%