/Data-Structures

A code repository for an undergraduate course in 'Data Structures'

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

A code repository for an undergraduate course in 'Data Structures'

This repository contains a Python implementation of various common data structures, taught as part of a Data Structures course at the undergraduate level.

The following is a list of data structures available in this repository:

  • Stacks
    1. Stack (Array-based)
    2. Two Stacks in a single array
    3. Stack using two Queues
    4. Linked Stack
  • Queues
    1. Queue (Array-based)
    2. Queue using two Stacks
    3. Linked Queue
    4. Deque (Double-Ended Queue)
    5. Circular Queue (Array-based)
    6. Linked Priority Queue
    7. Max Heap (Array-based)
  • Linked Lists
    1. Linked List using Arrays
    2. Singly Linked List
    3. Doubly Linked List
    4. Circular Doubly Linked List
    5. Self-Organizing List
    6. Skip List
  • Trees
    1. Binary Search Tree
    2. AVL Tree
    3. Red-Black Tree
    4. Threaded Binary Tree
  • Others
    1. Static Arraylist
    2. Dynamic Arraylist
    3. Disjoint Set
    4. Static Hash Table
    5. Dynamic Hash Table
    6. Hash Set

Contributing

You are most welcome to contribute more data structures! Please read our Contribution Guidelines first to get started.