스택을 이용한 이진트리 방법
조회수 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
이 코드를 베이스로 스택을 이용한 트리를 만들어 보라는데 이론적인 내용은 이해 했습니다 순회할때 차례 순서에 맞게 스택을 쌓고 이후 자식 스택을 돌고 부모 스택으로 돌아갈때 쌓아놓은 스택을 하나씩 지우면서 트리를 형성 시키라는 것인데 이를 코드 로 짜보라고 하면 어떤한 방식으로 나타내야 하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력