У меня есть функция, которая подсчитывает число, меньшее чем элемент в двоичном дереве поиска. Он работает нормально. Но я просто не понимаю, почему локальная переменная счетчика может вспомнить всего потому, что каждый рекурсивный вызов, он сбрасывается в 0.Локальная переменная в рекурсивном вызове
def count_less(self, item):
"""(BST, object) -> int
Return the number of items in BST that less than item.
"""
return BST.count_less_helper(self.root, item)
# Recursive helper function for count_less.
def count_less_helper(root, item):
count = 0
if root:
if root.item < item:
count += 1
count += BST.count_less_helper(root.left, item)
count += BST.count_less_helper(root.right, item)
elif root.item > item:
count += BST.count_less_helper(root.left, item)
return count
спасибо, поймите сейчас. – duckduck