Skip to content

docs(help): add descriptions, comparisons, and use-cases for heaps, shell sort, and queues#864

Merged
darshan2456 merged 1 commit into
darshan2456:mainfrom
vedant-kawale-27:main
Jul 16, 2026
Merged

docs(help): add descriptions, comparisons, and use-cases for heaps, shell sort, and queues#864
darshan2456 merged 1 commit into
darshan2456:mainfrom
vedant-kawale-27:main

Conversation

@vedant-kawale-27

Copy link
Copy Markdown
Contributor

PR Description:

Overview

This PR completes the help documentation for several modules by adding missing descriptions, theoretical relationships, and industry use-cases for Advanced Heaps, Shell Sort, Circular Queue, and Double-Ended Queue (Deque).


Proposed Changes

1. 🌲 Advanced Heaps Documentation

  • File: help_graphs_trees.c
  • Description: Renamed the category to "Graphs, Trees & Heaps Help" and added Option 4 covering:
    • Detailed behavioral outlines of D-Ary, Min-Max, Leftist/Skew, Binomial, Fibonacci, and Treap heaps.
    • Relationships: Compares lazy vs. eager merging (Binomial vs. Fibonacci), structure-enforcement tradeoffs (Leftist vs. Skew), and randomized BST balancing (Treap vs. AVL/Red-Black).
    • Use-cases: Maps D-Ary to database external storage, Min-Max to scheduler priority boundaries, and Fibonacci to shortest-path optimizations (Dijkstra/Prim).

2. ⚡ Shell Sort Integration

  • File: help_sorting_searching.c
  • Description: Added Shell Sort under the $O(N^2)$ sorting submenu:
    • Behavioral outline: A generalization of Insertion Sort using step-by-step gap decreases.
    • Relationships: Compares quadratic performance profiles (Bubble, Selection, Insertion) and positions Shell Sort as a zero-overhead bridge to fast $O(N \log N)$ algorithms.
    • Use-cases: Explains when to select Shell Sort over Quick Sort (e.g. stack limits in embedded systems).

3. 🌀 Circular Queue & Deque (Double-Ended Queue)

  • File: help_data_structures.c
  • Description: Completed the Stacks & Queues help section by adding:
    • Circular Queue modular wrapping and Deque front/rear access definitions.
    • Relationships: Simple Queue "false overflow" vs. Circular Queue slot reuse, and Deque as a double-ended generalization of both LIFO (Stack) and FIFO (Queue) logic.
    • Use-cases: Maps Circular Queues to streaming ring buffers (audio buffers, CPU scheduling rings) and Deques to work-stealing and history trackers.

Verification Done

  1. Verified compiler syntax checks for all modified files:
    gcc -Wall -Wextra -Werror -std=c11 -c help/help_graphs_trees.c -Ihelp -Isrc/utils
    gcc -Wall -Wextra -Werror -std=c11 -c help/help_sorting_searching.c -Ihelp -Isrc/utils
    gcc -Wall -Wextra -Werror -std=c11 -c help/help_data_structures.c -Ihelp -Isrc/utils
    All files compile cleanly with zero errors/warnings.
  2. Verified layout navigation flows locally.

closes #855

Copilot AI review requested due to automatic review settings July 16, 2026 14:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@darshan2456
darshan2456 merged commit 17b5732 into darshan2456:main Jul 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

enhance help page

3 participants