두 갈래 나무의 앞차례, 중차례, 뒷차례 반복(귀속)
#
#
class Node:
def __init__(self, key):
self.data = key
self.left = None
self.right = None
self.parent = None
"""
0
/ \
1 2
/ \ / \
3 4 5 6
"""
# - - 0 1 3 4 2 5 6
def recursive_preorder_traversal(root):
if root != None:
#
print(root.data)
#
left = root.left
if left != None:
recursive_preorder_traversal(left)
#
right = root.right
if root.right != None:
recursive_preorder_traversal(right)
# - - 3 1 4 0 5 2 6
def recursive_inorder_traversal(root):
if root != None:
#
left = root.left
if left != None:
recursive_inorder_traversal(left)
#
print(root.data)
#
right = root.right
if right != None:
recursive_inorder_traversal(right)
# - - 3 4 1 5 6 2 0
def recursive_postorder_traversal(root):
if root != None:
#
left = root.left
if left != None:
recursive_postorder_traversal(left)
#
right = root.right
if right != None:
recursive_postorder_traversal(right)
#
print(root.data)
if __name__ == '__main__':
#
root = Node(0)
node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
node4 = Node(4)
node5 = Node(5)
node6 = Node(6)
root.left = node1
node1.parent = root
root.right = node2
node2.parent = root
node1.left = node3
node3.parent = node1
node1.right = node4
node4.parent = node1
node2.left = node5
node5.parent = node2
node2.right = node6
node6.parent = node2
recursive_preorder_traversal(root)
recursive_inorder_traversal(root)
recursive_postorder_traversal(root)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.