이진트리 순회 (깊이우선탐색)

이세진·2022년 4월 15일
0

코테준비

목록 보기
44/87

생성일: 2022년 1월 29일 오후 6:18

구현 코드

# 이진트리 순회 (깊이우선탐색)

tree = [1,2,3,4,5,6,7]

# 중위순회 출력 (왼, 본인, 오른)
def inOrder(tree, len, index):
    if index < len:
        inOrder(tree, len, 2*index + 1)
        print(tree[index], end=' ')
        inOrder(tree, len, 2*index + 2)
    else:
        return

# 전위순회 출력 (본인, 왼, 오른)
def preOrder(tree, len, index):
    if index < len:
        print(tree[index], end=' ')
        preOrder(tree, len, 2*index + 1)
        preOrder(tree, len, 2*index + 2)
    else:
        return

# 후위순회 출력 (왼, 오른, 본인)
def postOrder(tree, len, index):
    if index < len:
        postOrder(tree, len, 2*index + 1)
        postOrder(tree, len, 2*index + 2)
        print(tree[index], end=' ')
    else:
        return

print("전위순회 출력 : ", end='')
preOrder(tree, len(tree), 0)
print()
print("중위순회 출력 : ", end='')
inOrder(tree, len(tree), 0)
print()
print("후위순회 출력 : ", end='')
postOrder(tree, len(tree), 0)
profile
나중은 결코 오지 않는다.

0개의 댓글