3
我想寫一個函數,告訴我給定的列表是否是最小堆。是最小堆功能
我至今寫:
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))
我不知道的基本情況應該是什麼,是我的遞歸調用正確的嗎?
另外,如何控制索引不會超出範圍?