Skip to main content

A python library to handle dataStructures

Project description

updated: Wednesday, 12th July 2023
datastax

Simplicity meets intelligence

PyPI PyPI Downloads


dataStax

What's New?

  • Refactored Array Contents
  • Added AbstractArray SubModule to abstract print logic
  • Added more test cases for Queues
  • Type Checked Arrays and Lists with mypy

Table of Contents

Introduction

  • This library offers a simple yet powerful solution for implementing common abstract data structures.
  • With a pure Python implementation, it provides representations of tree, linked list, and array-based data structures accessible through a basic command prompt interface.
  • The package includes visualization features that enhance the understanding of each data structure.
  • Students can greatly benefit from utilizing this package for their learning and educational purposes.
  • Please note that this project is currently a work in progress and undergoing active development.

Problem Statement

  • Many CS students encounter difficulties in comprehending the intricate internal architecture of complex Abstract Data Types (ADTs) during the initial stages of their B.Tech course.
  • When attempting to solve coding challenges that involve writing test cases using these ADTs, it becomes excessively burdensome to manually create these data structures from scratch.
  • Furthermore, while developing programs that implement these ADTs, numerous errors are encountered due to the inability to visualize and understand the underlying processes of these data structures.

Benefits

  • Swift installation process
  • Efficient and prompt updates
  • Minimal disk space usage due to its small size
  • No additional modules or dependencies needed
  • Developed entirely from scratch
  • Upcoming user-friendly documentation
  • Command line demonstration for easy usage

Requirements

  • Runs on latest Python 3.11+
  • (Suggesting you to always update to the latest python version)

Installation

  1. Use the python package manager pip to install datastax.
pip install datastax

Usage

Demo

  • To get a demo of the library use the following command

    • Windows:
    > py -m datastax 
    
    • Unix based systems:
    $ python3 -m datastax
    
    • Result
    Available modules are:
    1. LinkedLists
    2. Trees
    3. Arrays
    
    Usage
    > py datastax <data-structure> [data]
    Data Structures:
    ->  trees          Hierarchical DS
    ->  linkedlists    Linear DS
    ->  arrays         Fixed Size Linear DS
    
  • Then follow as the instruction guides

> py -m datastax linkedlist 1 2 3 4
  Visuals for LinkedLists:

  1. Singly Linked List:
     HEAD                                         TAIL
 ┌─────╥────┐   ┌─────╥────┐   ┌─────╥────┐   ┌─────╥────┐
   1    ----->│  2    ----->│  3    ----->│  4    -----> NULL
 └─────╨────┘   └─────╨────┘   └─────╨────┘   └─────╨────┘


  2. Doubly Linked List:
               HEAD                                                        TAIL
         ┌────╥─────╥────┐   ┌────╥─────╥────┐   ┌────╥─────╥────┐   ┌────╥─────╥────┐
 NULL <-----    1    <------->    2    <------->    3    <------->    4    -----> NULL
         └────╨─────╨────┘   └────╨─────╨────┘   └────╨─────╨────┘   └────╨─────╨────┘
  ...

Practical Usage

  • Queue

queue

queue_output



  • BinaryTree

binaryTree

binaryTree_output


  • MinHeapTree

mht

mht_output


  • ThreadedBinaryTree

tbt

tbt_output


  • SumSegmentTree

sst

sst_output


  • HuffmanTree

hft

hft_output


  • RedBlackTree

rbt

rbt_output

What's Next

  • Enhanced Documentation
  • Better TestCases for Huffman Tree
  • Better TestCases for Segment Trees
  • Test Cases for Fibonacci Tree

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datastax-0.4.1.tar.gz (36.1 kB view details)

Uploaded Source

Built Distribution

datastax-0.4.1-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file datastax-0.4.1.tar.gz.

File metadata

  • Download URL: datastax-0.4.1.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for datastax-0.4.1.tar.gz
Algorithm Hash digest
SHA256 db126e30974bebd651e1af5f40bfa88e940763fd526c4ade45adb9159d27daf2
MD5 39db0bdfebdda885941ba36403b805d4
BLAKE2b-256 55761d22727998b386c9c08b340bddcc79e7e4045c6d0fb0d504d206787b61b6

See more details on using hashes here.

File details

Details for the file datastax-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: datastax-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 54.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for datastax-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98419845ca2f26b881437d06f63d8dd9737330ab3ad19cfa958ce66b78ebdcb1
MD5 4eb57cda074a026fd58a7f3003ea98db
BLAKE2b-256 0a40c3426e14371fa7be86f3f387ff13cf865e561af1b0e619a74965df4391bd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page