Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 1.48 KB

File metadata and controls

20 lines (15 loc) · 1.48 KB

Data Structures Implementations

This repo contains the implementation of all data structures developed as part of the Data Structures (COMP242) course at Birzeit University.

Data Structures Implemented

  • Linked List: A linear data structure containing of nodes, where each node points to the next.
  • Doubly Linked List: A type of linked list where each node contains a data value, a reference to the next node, and a reference to the previous node. This allows traversal in both forward and backward directions.
  • Cursor Array: An array implementation of the Linked List.
  • Stack: A LIFO (Last In, First Out) data structure.
  • Queue: A FIFO (First In, First Out) data structure.
  • Binary Search Tree: A tree structure where each node has at most two children, and the left child is smaller than the parent node, while the right is greater or equal.
  • AVL Tree: A self-balancing binary search tree, where the difference in heights of the left and right subtrees of any node is at most 1.
  • Hash Table: A data structure that stores key-value pairs and provides fast lookup. There are three types of hashing: Spearate Chaining, Open Adressing, and Double Hashing.
  • Heap or Priority Queue: A specialized tree-based structure that satisfies the heap property.

Important Note (⌐■_■)

This repo is intended to help you understand and practice data structure concepts. Please use it as a reference and learning tool rather than simply copying and pasting the code :)