Skip to content

This project provides Python implementations of fundamental data structures, including Stacks, Queues, Linked Lists, and Trees (Binary Search and AVL). It features a user-friendly menu-driven interface for easy interaction. Explore basic operations like insertion and deletion in each structure. Clone the repository to get started!

Notifications You must be signed in to change notification settings

NirmalsaiswaroopJ/Data-Structures-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation


Data Structures & Algorithms Project

This project aims to provide implementations of various kinds of data structures including Stacks, Queues, Linked Lists, and Trees in Python. It also includes a menu-driven interface to interact with these data structures.

Table of Contents

Introduction

This project offers Python implementations for fundamental data structures along with a user-friendly menu-driven interface. Each data structure is well-documented and includes basic operations like insertion, deletion, traversal, and more.

Implemented Data Structures

1. Stacks

A stack is a linear data structure following the Last-In-First-Out (LIFO) principle. It supports operations like push, pop, peek, and checking if the stack is empty.

2. Queues

Queues are linear data structures that follow the First-In-First-Out (FIFO) principle. This project includes implementations for linear queues, circular queues, and double-ended queues (dequeues).

3. Linked Lists

Linked lists are collections of nodes linked together where each node contains a data field and a reference to the next node. This project provides implementations for singly linked lists, doubly linked lists, and circular linked lists.

4. Trees

Trees are hierarchical data structures consisting of nodes connected by edges. This project includes two types of trees:

4.1 Binary Search Tree

A binary search tree is a binary tree with the property that the left subtree of a node contains only nodes with keys less than the node's key, and the right subtree contains only nodes with keys greater than the node's key.

4.2 AVL Tree

An AVL tree is a self-balancing binary search tree. It maintains a balance factor for each node to ensure the tree remains balanced after insertions and deletions.

How to Use:

  1. Clone the repository to your local machine.
  2. Navigate to the directory containing the Python files.
  3. Run the desired Python script for the data structure or algorithm you want to explore.
  4. Follow the on-screen instructions to interact with the implementations.

File Structure:

.
├── stack.py
├── queue.py
├── linked_list.py
├── binary_search_tree.py
└── README.md

Website Page Reference Link:

Follow the link to implement the code in your device - https://nirmalsaiswaroopj.github.io/Data-Structures-Project/DSA%20Project.py


About

This project provides Python implementations of fundamental data structures, including Stacks, Queues, Linked Lists, and Trees (Binary Search and AVL). It features a user-friendly menu-driven interface for easy interaction. Explore basic operations like insertion and deletion in each structure. Clone the repository to get started!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages