Skip to content

rachit-ranjan16/dat_struct_py

Repository files navigation

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
  • Binary Search Tree
  • Trie
  • Heap (MinHeap and MaxHeap)

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 Stack

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
  • Print the elements of the Queue

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

Operations Supported for Tries

  • Create a trie by inserting strings
  • Insert a string into the trie
  • Look up a string to check if it exists in the trie
  • Prefix-based string operations

Operations Supported for Heaps

  • Create a heap (MinHeap or MaxHeap)
    • From an array of elements
    • By inserting elements one by one
  • Insert an element
  • Extract the top element (min for MinHeap, max for MaxHeap)
  • Get the top element without removing it
  • Check if the heap is empty
  • Get the size of the heap
  • Heapify an array

Developer Tools

  • Full Fledged Vagrant Box in tools/DevelopDatStructPy
  • 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

Project Structure

  • dat_struct_py/: Core implementation directory containing Python modules for data structures
  • dat_struct_py/blocks/: Contains the fundamental node structures used by data structures
  • dat_struct_py/tests/: Contains unit tests for each data structure implementation

About

Basic Data Structures and Operations Implemented in Python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages