본문 바로가기

백준

[백준] 5639번 - 이진 검색 트리

반응형

1. 문제

 

2. 코드

import sys
sys.setrecursionlimit(10 ** 6)
temp = sys.stdin.readline

tree = []

def post_order(start, end):
    if start > end:
        return
    
    root = tree[start]
    idx = start + 1
    
    while idx <= end:
        if root < tree[idx]:
            break
        idx += 1
    post_order(start+1, idx-1)
    post_order(idx, end)
    print(root)
    

while 1:
    try:
        tree.append(int(input()))
    except:
        break

post_order(0, len(tree)-1)

 

3. 풀이

전위 : root -> l -> r
중위 : l -> root -> r
후위 : l -> r -> root

 

전위 순회 결과를 가지고 후위 순회 결과를 출력하는 문제.

(곧 설명 보강 예정,,,)

728x90
반응형

'백준' 카테고리의 다른 글

[백준] 1010번 - 다리 놓기 (파이썬)  (0) 2022.01.13
[백준] 10845번 - 큐  (0) 2022.01.13
[백준] 2606번 - 바이러스  (0) 2022.01.11
[백준] 1260번 - DFS와 BFS  (0) 2022.01.08
[백준] 1755번 - 숫자놀이  (0) 2022.01.07