Jcheez / Jellybeans

A comprehensive Data Structure package

Home Page:https://jellybeans.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Test Suite Actions status Netlify Status

About

Jellybeans aims to provide an easier development process when working with various data structures in python. Visualisations are provided for sorting algortihms.

Documentation

How to use this library?

Installation

  1. Ensure that you have python 3.7 and above
  2. Run the following command: pip install jellybeans

Implementations

Below are the data structures and algorithms that are covered in this library.

Data Structures

  • AVL Tree
  • Binary Heap
  • Graph
  • Singly Linked List
  • Tailed Linked List
  • Doubly Linked List
  • Queue
  • Deque
  • Stack
  • Union Find Disjoint Sets (UFDS)

Sorting Algorithms

  • Bubble Sort
  • Bubble Sort Optimised
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort

Graphing Algorithms

  • Reachability
  • Number of components
  • Topological sort
  • Strongly Connected components (SCCs)
  • Minimum spanning tree (Prims, Prims-Dense, Kruskal's)
  • Single Source Shortest Path (Bellman Ford, One-pass BF, Dijkstra's)
  • All Pairs Shortest Path (Floyd Warshall)

Acknowledgment

I would also like to mention that majority of the knowledge used to develop this library came from the undertaking of National University of Singapore's course CS2040.

Contributions

Anyone who wishes to value add to this library is welcomed to do so. Check out the Contribution Guide for further information on how you can contribute!

About

A comprehensive Data Structure package

https://jellybeans.netlify.app/

License:MIT License


Languages

Language:Python 100.0%