알고리즘
[알고리즘] 전위, 중위, 후위 순회 (Traverse)
keel_im
2021. 4. 5. 21:45
반응형
포인트
- 트리에서 자료를 순회하는 방법은 전위, 중위, 후위 순회가 있습니다.
- level-order로 BFS 와 같이 움직이는 것도 또한, 존재합니다.
Binary Tree Inorder Traversal
Binary Tree Preorder Traversal
Binary Tree Postorder Traversal
문제를 풀어보았습니다.
🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다.
python
inorder traverse - 중위 순회
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def __init__(self):
self.sel = []
def inorder(self,root: TreeNode):
if root!=None:
self.inorder(root.left)
self.sel.append(root.val)
self.inorder(root.right)
def inorderTraversal(self, root: TreeNode) -> List[int]:
sel = []
self.inorder(root)
return self.sel
preorder traverse - 전위 순회
class Solution:
def __init__(self):
self.sel = []
def preorder(self, root: TreeNode) -> None:
if root != None:
self.sel.append(root.val)
self.preorder(root.left)
self.preorder(root.right)
def preorderTraversal(self, root: TreeNode) -> List[int]:
self.preorder(root)
return self.sel
postorder traverse - 후위 순회
class Solution:
def __init__(self):
self.sel = []
def postorder(self, root: TreeNode) -> None:
if root != None:
self.postorder(root.left)
self.postorder(root.right)
self.sel.append(root.val)
def postorderTraversal(self, root: TreeNode) -> List[int]:
self.postorder(root)
return self.sel
반응형