Heap Quick Start — ucxdsa documentation

# Heap Quick Start

## Description

A heap is a specialized tree-based data structure that satisfies the heap property, used for efficient priority-based operations.

## Creation

Import class

    from dsa.heap import Heap  # or the appropriate Heap class

Creation

Create an empty heap (max heap). Use MinHeap() to create a min heap:

    h = Heap()

## Common Operations

Insert

Insert a value into the heap.

    h.insert(10)  # Insert 10 into the heap

Pop

Return the value of the root node (max value) and remove it from the heap.

    value = h.pop()  # Remove and return the max value

Peek

Get the max value of the max heap.

    value = h.peek()  # Get the max value without removing

Printing Contents

Use print() method to print the elements of the heap.

    h = Heap()
    h.insert(1)
    h.insert(2)
    h.insert(3)
    h.insert(4)

    h.print()

Outputs the following:

    4
    3 2
    1

Alternative way to print the heap:

    from dsa.pretty_print import heap_print
    heap_print(h)

Outputs the following:

        4
     3     2
    1

Use the HeapDraw class to draw a visual representation of a heap.

    from dsa.draw import HeapDraw
    h = Heap()
    h.insert(1)
    h.insert(2)
    h.insert(3)
    h.insert(4)

    hd = HeapDraw(h)
    hd.draw()

Example of a Heap structure using HeapDraw.

## Other Related Classes

- `dsa.heap.MinHeap`

- `dsa.heap.PriorityQueue`