Answer:
I am writing a Python function:
def is_maxheap(list): 
 #finds the length of the list 
 size=len(list) 
  #loop has a variable i which starts traversing from root til end of last #internal node 
 for i in range(int((size - 2) / 2) + 1): 
 if list[2 * i + 1] > list[i]: #If left child is greater than its parent then return #false 
 return False 
 if (2 * i + 2 < size and 
 list[2 * i + 2] > list[i]): #checks if right child is greater, if yes then #returns false 
 return False 
 return True 
Step-by-step explanation:
The function is_maxheap() traverses through all the internal nodes of the list iteratively. While traversing it checks if the node is greater than its children or not. To check the working of this function you can write a main() function to check the working on a given list. The main() function has a list of integers. It then calls is_maxheap() method by passing that list to the function. The program displays a message: "valid max heap" if the list represents valid max-heap otherwise it returns invalid max heap. 
def main(): 
 list = [10,7,8] 
 size = len(list) 
 if is_maxheap(list): 
 print("Valid Max Heap") 
 else: 
 print("Invalid Max Heap") 
main()
The program along with its output is attached in a screenshot.