더북(TheBook)

스택 자료 구조와 반복문을 이용한 구현도 전위 순회와 방문 순서만 다를 뿐 나머지 코드는 같습니다.

코드 7-6

def iter_inorder(cur):
    s = Stack()
    while True:
        while cur:
            s.push(cur)
            cur = cur.left
        cur = s.pop()
        if not cur:
            break
        # pop한 후에 방문을 합니다.
        print(cur.data, end=' ')
        cur = cur.right

코드 7- 6은 반복문으로 중위 순회를 구현한 것입니다. 전위 순회와 다른 점은 방문 순서입니다. 중위 순회에서는 pop을 한 후 방문을 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.