상세 컨텐츠

본문 제목

Tree

Python

by techbard 2016. 6. 12. 10:25

본문

반응형




# tree - preorder

tree = [('a', [('b', [('d', []),

 ('e', [])]),

  ('c', [('f', [])])])]


def preorder(tree):

stack = [tree[0]]

output = []

while stack:

value, children = stack.pop()

output.append(value)

stack.extend(reversed(children))

return output


print(preorder(tree))


# 결과

['a', 'b', 'd', 'e', 'c', 'f']




# tree - preorder

tree = [('a', [('b', [('d', []),

 ('e', [])]),

  ('c', [('f', [])])])]


from collections import deque


def levelorder(tree):

queue = deque([tree[0]])

output = []

while queue:

value, children = queue.popleft()

output.append(value)

queue.extend(children)

return output


print(levelorder(tree))


# 결과

['a', 'b', 'c', 'd', 'e', 'f']


반응형

관련글 더보기

댓글 영역