Ticker

6/recent/ticker-posts

Header Ads Widget

Responsive Advertisement

Write a Python program to print a heap as a tree-like data structure.

 WRITE A PYTHON PROGRAM TO PRINT A HEAP AS A TREE-LIKE DATA STRUCTURE.

INPUT:

import math

from io import StringIO

#source https://bit.ly/38HXSoU

def show_tree(tree, total_width=60, fill=' '):

    """Pretty-print a tree.

    total_width depends on your input size"""

    output = StringIO()

    last_row = -1

    for i, n in enumerate(tree):

        if i:

            row = int(math.floor(math.log(i+1, 2)))

        else:

            row = 0

        if row != last_row:

            output.write('\n')

        columns = 2**row

        col_width = int(math.floor((total_width * 1.0) / columns))

        output.write(str(n).center(col_width, fill))

        last_row = row

    print (output.getvalue())

    print ('-' * total_width)

    return

#test

import heapq

heap = []

heapq.heappush(heap, 1)

heapq.heappush(heap, 2)

heapq.heappush(heap, 3)

heapq.heappush(heap, 4)

heapq.heappush(heap, 7)

heapq.heappush(heap, 9)

heapq.heappush(heap, 10)

heapq.heappush(heap, 8)

heapq.heappush(heap, 16)

heapq.heappush(heap, 14)

show_tree(heap)


OUTPUT:

                                    THANK YOU..!!💫

Post a Comment

0 Comments