# dat-struct-py
Basic Data Structures and Operations Implemented in Python
## Installation Instructions
- Python 3.5+ is currently supported
- Install from PyPI using
- pip install dat-struct-py
## Supported Data Structures
- Singly Linked List
- Doubly Linked List
- Circularly Singly Linked List
- Stack using Linked List
- Queue using Linked List
- Tree (Binary Search Tree)
### Operations Supported for Linked Lists
- Create a linked list through input sequence or inserts
- At the beginning
- At the end
- At any Position
- Delete a node carrying some value
- Size
- Print
- Quick check whether the list has even length
- Return nth element from the end
- Quick check whether a cycle exists
- Return cycle length(if one exists)
- Reverse in Place
- Swap Pairs - Works only for Even length linked list
### Operations Supported for Stacks
- Create a stack by pushing elements one by one or through an input sequence
- Check whether the stack is empty
- Check whether the stack is full
- Push an element
- Pop an element
- Peek the top element
- Check balanced symbols
- Filter out all adjacent elements from the input
- Print the elements of the Queue
### Operations Supported for Queues
- Create a queue by queuing elements one by one or through an input sequence
- Check whether the Queue is empty
- Enqueue an element
- Dequeue an element
### Operations Supported for Binary Search Trees
- Create a binary search tree by
- Inserting values one by one
- Passing in an input list
- Traversals
- Preorder
- Inorder
- Postorder
- Spiral
- Clockwise
- Anticlockwise
- Boundary
- Projections/Views
- LHS
- RHS
- Nodes at K distance away from root
- Connect Nodes at the Same Level
- Singly Linked List
- Circularly Singly Linked List
## Developer Tools
- Full Fledged Vagrant Box in tools/DevelopDatStructPy
- Prerequisites
- [VirtualBox Installation](https://www.virtualbox.org/wiki/Downloads)
- [Vagrant Installation](https://www.vagrantup.com/downloads.html)
- Navigate to tools/DevelopDatStructPy
- Modify bootstrap.sh to contain your git username and email (**MANDATORY STEP**)
- Open Terminal/Command prompt
- Execute `vagrant up` to bring up the VM
- Execute `vagrant ssh` to login to the VM
- Master Code will be present at `home/ubuntu/Development/Repos/`
- Execute `source /home/ubuntu/Development/developEnv/bin/activate` to activate Python Virtual Environment
Basic Data Structures and Operations Implemented in Python
## Installation Instructions
- Python 3.5+ is currently supported
- Install from PyPI using
- pip install dat-struct-py
## Supported Data Structures
- Singly Linked List
- Doubly Linked List
- Circularly Singly Linked List
- Stack using Linked List
- Queue using Linked List
- Tree (Binary Search Tree)
### Operations Supported for Linked Lists
- Create a linked list through input sequence or inserts
- At the beginning
- At the end
- At any Position
- Delete a node carrying some value
- Size
- Quick check whether the list has even length
- Return nth element from the end
- Quick check whether a cycle exists
- Return cycle length(if one exists)
- Reverse in Place
- Swap Pairs - Works only for Even length linked list
### Operations Supported for Stacks
- Create a stack by pushing elements one by one or through an input sequence
- Check whether the stack is empty
- Check whether the stack is full
- Push an element
- Pop an element
- Peek the top element
- Check balanced symbols
- Filter out all adjacent elements from the input
- Print the elements of the Queue
### Operations Supported for Queues
- Create a queue by queuing elements one by one or through an input sequence
- Check whether the Queue is empty
- Enqueue an element
- Dequeue an element
### Operations Supported for Binary Search Trees
- Create a binary search tree by
- Inserting values one by one
- Passing in an input list
- Traversals
- Preorder
- Inorder
- Postorder
- Spiral
- Clockwise
- Anticlockwise
- Boundary
- Projections/Views
- LHS
- RHS
- Nodes at K distance away from root
- Connect Nodes at the Same Level
- Singly Linked List
- Circularly Singly Linked List
## Developer Tools
- Full Fledged Vagrant Box in tools/DevelopDatStructPy
- Prerequisites
- [VirtualBox Installation](https://www.virtualbox.org/wiki/Downloads)
- [Vagrant Installation](https://www.vagrantup.com/downloads.html)
- Navigate to tools/DevelopDatStructPy
- Modify bootstrap.sh to contain your git username and email (**MANDATORY STEP**)
- Open Terminal/Command prompt
- Execute `vagrant up` to bring up the VM
- Execute `vagrant ssh` to login to the VM
- Master Code will be present at `home/ubuntu/Development/Repos/`
- Execute `source /home/ubuntu/Development/developEnv/bin/activate` to activate Python Virtual Environment
Metadata
Release files for dat-struct-py 1.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dat-struct-py-1.6.1.tar.gz | 23.5 kB | Details |
Release files / dat-struct-py-1.6.1.tar.gz
| Download URL | dat-struct-py-1.6.1.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d03e71115aec4acc76b6824f75ec07b147e1b5551fddd4b5508b9af1f2c5f8b
|
|
BLAKE2b-256 checksum How to use checksums |
e87b1e3c03f303606b17eb081fc95fe3c09a4aa3fe119b94967a02db9b11779f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
|