Skip to content

vered570/data_structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 

Repository files navigation

data_structures

//Overview of the project

This project focuses on implementing and exploring key data structures in computer science, showcasing their functionality, use cases,
and practical applications. Developed in Python, the project demonstrates how these structures handle various operations efficiently, providing both theoretical and hands-on insights.

//Data Structures and Their Operations

  1. Queue A linear data structure following the FIFO (First In, First Out) principle. It is used to model real-world scenarios like task scheduling and
    buffer management. The project demonstrates enqueue (insertion) and dequeue (removal) operations.

  2. Stack A linear data structure that operates on the LIFO (Last In, First Out) principle. It supports operations like push (add an element), pop (remove an element), and peek (view the top element). Commonly used in recursive algorithms and undo functionalities.

  3. AVL Tree A self-balancing binary search tree where the height difference between left and right subtrees of any node is at most one. This ensures optimal performance for insertion, deletion, and search operations with a time complexity of 𝑂(log⁡𝑛).

  4. Heap (Max) A binary tree-based structure where the value of each parent node is greater than or equal to the values of its children, maintaining the "max-heap property." Heaps are efficient for implementing priority queues and support operations like insertion, deletion, and retrieving the maximum element in 𝑂(log𝑛) time.

  5. Binary Search Tree (BST) A hierarchical data structure where each node has at most two children. The left child contains values less than the parent node, and the right child contains values greater. Common operations include insertion, deletion, and in-order traversal.

//Key features

ָָָ* Each data structure is implemented as a Python class, encapsulating its properties and methods.

  • The notebook provides examples of how to use these structures for various operations.
  • Designed to provide an interactive and educational experience for understanding the functionality and efficiency of these foundational structures.

//Link to the colab

https://colab.research.google.com/drive/1jL5_3KSQUuYj6VNgZjO9xPjj_PBmds1t?usp=sharing

//Link to a video with running examples

https://drive.google.com/drive/folders/1fbgeqyJdjscwBRWA9Nf8HRupmuDvzWdQ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors