728x90
반응형
class Node:
"""이진 트리 노드를 나타내는 클래스"""
def __init__(self, data):
"""이진 트리 노드는 데이터와 두 자식 노드에 대한 레퍼런스를 갖는다"""
self.data = data
self.left_child = None
self.right_child = None
def traverse_inorder(node):
"""in-order 순회 함수"""
if node is not None:
traverse_inorder(node.left_child)
print(node.data)
traverse_inorder(node.right_child)
# 여러 노드 인스턴스 생성
node_A = Node("A")
node_B = Node("B")
node_C = Node("C")
node_D = Node("D")
node_E = Node("E")
node_F = Node("F")
node_G = Node("G")
node_H = Node("H")
node_I = Node("I")
# 생성한 노드 인스턴스들 연결
node_F.left_child = node_B
node_F.right_child = node_G
node_B.left_child = node_A
node_B.right_child = node_D
node_D.left_child = node_C
node_D.right_child = node_E
node_G.right_child = node_I
node_I.left_child = node_H
# 노드 F를 root 노드로 만든다
root_node = node_F
# 만들어 놓은 트리를 in-order로 순회한다
traverse_inorder(root_node)
728x90
반응형
'자료구조' 카테고리의 다른 글
[파이썬] 힙 정렬 구현하기 (1) | 2023.12.15 |
---|---|
[파이썬] heapify 함수 구현 (1) | 2023.12.15 |
[파이썬] 완전 이진 트리 직접 구현하기 (1) | 2023.12.12 |
[파이썬] 이진 탐색 트리 삽입 구현 (0) | 2023.12.12 |
[파이썬] 더블리 링크드 리스트 prepend 구현 (0) | 2023.12.10 |