Я пытаюсь написать функцию, которая вставляет узел в двоичное дерево поиска. Я видел несколько примеров, и мне кажется, что мой алгоритм должен работать, но по какой-то причине он не тестирует.Алгоритм вставки для дерева двоичного поиска не работает
def insert(tr, el):
""" function to insert an element into a binary search tree
following the rules of binary search trees.
return: an updated tree
precondition: assumed all elements unique
"""
if tr == None:
return createEyecuBST(el, None)
elif el < tr.value:
if tr.left == None:
tr.left = createEyecuBST(el, tr)
return tr
else: return insert(tr.left, el)
elif el > tr.value:
if tr.right == None:
tr.right = createEyecuBST(el, tr)
return tr
else: return insert(tr.right, el)
return None
Вы намерены иметь пустое тело функции, или это ошибка форматирования? – Tritium21
@ Tritium21 Извините, я не понимаю, что вы имеете в виду. Вы говорите, что не можете видеть, что внутри функции вставки? – Stalfurion
Я говорю, код, который был опубликован, не имеет ничего в теле функции. его не отступают. – Tritium21