스택을 이용한 이진트리 방법

조회수 1211회

파이썬을 이용해서 이진트리 전위 중위 후위 순회를 스택을 사용해서 코드로 만들어 보라고 하는데 위 방식을 어떤 식으로 이용 해야 하나요?

class Node:
    def __init__(self,item,link):
        self.item=item
        self.next=link

def push(item):
        global top
        global size
        top = Node(item, top)
        size += 1

def peek():
        if size != 0:
            return top.item

def pop():
        global top
        global size
        if size != 0:
            top_item = top.item
            top = top.next
            size -= 1
            return top_item

def print_stack():
        print('top -> \t',end='')
        p = top
        while p:
            if p.next != None:
                print(p.item,end='')
                print(" ")
            else:
                print(p.item,end='')
                print(" ")
            p = p.next
        print()
top = None
size = 0

이 코드를 베이스로 스택을 이용한 트리를 만들어 보라는데 이론적인 내용은 이해 했습니다 순회할때 차례 순서에 맞게 스택을 쌓고 이후 자식 스택을 돌고 부모 스택으로 돌아갈때 쌓아놓은 스택을 하나씩 지우면서 트리를 형성 시키라는 것인데 이를 코드 로 짜보라고 하면 어떤한 방식으로 나타내야 하나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)