我希望编写一个函数来判断给定的列表是否为最小堆。
目前我编写的函数如下:
def is_min_heap(L):
return _is_min_heap(L, 0)
def _is_min_heap(L, i):
if
#base case
else:
return (L[i] < L[2*i+1] and _is_min_heap(L, 2*i+1)) and (L[i] < L[2*i+2] and _is_min_heap(L, 2*1+2))
我不确定基本情况应该是什么,我的递归调用是否正确? 此外,您如何控制索引最终不超出范围?