Answer:
Explanation:
We start from the bottom-most and rightmost internal node of min Heap and then heapify all internal modes in the bottom-up way to build the Max heap.
To build a heap, the following algorithm is implemented for any input array.
BUILD-HEAP(A)
heapsize := size(A)
for i := floor(heapsize/2) downto 1
do HEAPIFY(A, i)
end for
Convert the given array of elements into an almost complete binary tree.
Ensure that the tree is a max heap.
Check that every non-leaf node contains a greater or equal value element than its child nodes.
If there exists any node that does not satisfy the ordering property of max heap, swap the elements.
Start checking from a non-leaf node with the highest index (bottom to top and right to left).
Answer:
information?
Explanation:
picture are there to give a visual or make the document more appealing. if your wording and information isnt up to date or reasonable people wont lean to what you are saying as much.
Answer:
I am writing the function using Python. Let me know if you want the program in some other programming language.
def iterPower(base, exp):
baseexp = 1
while exp > 0:
baseexp = baseexp*base
exp= exp - 1
return baseexp
base = 3
exp = 2
print(iterPower(base, exp))
Explanation:
- The function name is iterPower which takes two parameters base and exp. base variable here is the number which is being multiplied and this number is multiplied exponential times which is specified in exp variable.
- baseexp is a variable that stores the result and then returns the result of successive multiplication.
- while loop body keeps executing until the value of exp is greater than 0. So it will keep doing successive multiplication of the base, exp times until value of exp becomes 0.
- The baseexp keeps storing the multiplication of the base and exp keeps decrements by 1 at each iteration until it becomes 0 which will break the loop and the result of successive multiplication stored in baseexp will be displayed in the output.
- Here we gave the value of 3 to base and 2 to exp and then print(iterPower(base, exp)) statement calls the iterPower function which calculates the exponential of these given values.
- Lets see how each iteration works:
baseexp = 1
exp>0 True because exp=2 which is greater than 0
baseexp = baseexp*base
= 1*3 = 3
So baseexp = 3
exp = exp - 1
= 2 - 1 = 1
exp = 1
baseexp = 3
exp>0 True because exp=1 which is greater than 0
baseexp = baseexp*base
= 3*3 = 9
So baseexp = 9
exp = exp - 1
= 1-1 = 0
exp = 0
- Here the loop will break now when it reaches third iteration because value of exp is 0 and the loop condition evaluates to false now.
- return baseexp statement will return the value stored in baseexp which is 9
- So the output of the above program is 9.