Skip to content

aasthaaj05/Advanced-Data-Structures

Repository files navigation

Advanced Data Structures

This repository contains C implementations of various advanced data structures developed as part of the Advanced Data Structures course laboratory.
Each program demonstrates the core concepts, operations and efficiency of its respective data structure.


📂 Repository Contents

Tree-Based Data Structures

  • Binary Search Tree (BST) — Basic binary search operations.
  • AVL Tree — Self-balancing binary search tree.
  • Red-Black Tree — Balanced tree using color properties.
  • 2-3 Tree — Multiway balanced search tree.
  • B Tree — Balanced tree used in databases and file systems.
  • B+ Tree — Extended version of B Tree with linked leaves for efficient range queries.

Probabilistic / Indexed Structures

  • Skip List — Layered linked list with probabilistic balancing.
  • Compressed Trie (Radix Tree) — Space-optimized version of a trie.
  • Alphabet Trie — Basic prefix tree for word storage and auto-suggestions.
  • Suffix Trie — Trie built from all suffixes of a string for substring searching.

Heap and Priority Structures

  • Binomial Heap — Efficient mergeable heap.
  • Fibonacci Heap — Optimized heap with better amortized time for decrease-key operations.

Algorithmic Implementations

  • Merge Sort (Divide and Conquer) — Classic recursive sorting algorithm.
  • Huffman Coding — Text compression using variable-length encoding.
  • Treap — Hybrid of Binary Search Tree and Heap, randomized balancing.

How to Run

Each program is self-contained and can be compiled individually using a standard C compiler.

gcc <filename>.c -o <filename>
./<filename>

About

Contains data structures for trees, probablistic/indexed structures, heaps and algorithmic implementations in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages