jellybeans

A Data Structure Package


Keywords
Data-Structures, graphs-algorithms, sorting-algorithms, visualisation
License
MIT
Install
pip install jellybeans==0.9.1

Documentation

Test Suite Actions 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
  • 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!