Глядя на интерфейс BinaryTree
, вы должны вызывать insertLeft
и insertRight
для добавления дочерних элементов в дерево вместо:
r.leftChild = 'b'
r.rightChild = 'c'
leftChild
и rightChild
должны быть BinaryTree
объектами, а не строками. Хотя вы могли бы написать:
r.leftChild = BinaryTree('b')
r.rightChild = BinaryTree('c')
Он не обрабатывает случай, когда leftChild
и rightChild
не None
. Вот почему вы должны использовать insertLeft
и insertRight
, которые обрабатывают эти случаи за вас:
r.insertLeft('b')
r.insertRight('c')
Чтобы вставить d
, e
и f
, мы делаем то же самое. способ, используя insertLeft
и insertRight
:
r.getLeftChild().insertRight('d')
r.getRightChild().insertLeft('e')
r.getRightChild().insertRight('f')