이진트리를 노드와 링크를 통해 직접 구현하도록 한다.
key, left, right, parent
class Node:
def __init__(self, key):
self.key = key
self.parent = None
self.left = None
self.right = None
def __str__(self):
return str(self.key)
이진트리 순회(trabersal)
1. preorder (전위)
2. inorder (중위)
3. postorder (후위)
preorder -> MLR
inorder -> LMR
postorder -> LRM
preoder : F B A D C E G I H
inorder : A B C D E F G H I
postorder : A C E D B H I G F
class Node:
def __init__():
pass
def preorder(self):
if self != None:
print(self.key)
if self.left:
self.left.preorder()
if self.right:
self.right.preorder()
def inorder(self):
if self != None:
if self.left:
self.left.inorder()
print(self.key)
if self.right:
self.right.inorder()
def postorder(self):
if self != None:
if self.left:
self.left.postorder()
if self.right:
self.right.postorder()
print(self.key)
참고 - https://www.youtube.com/watch?v=HDjqrmmpFdU&list=PLsMufJgu5933ZkBCHS7bQTx0bncjwi4PK&index=24
'Computer Science > Data Structure' 카테고리의 다른 글
자료구조, 자료형, 추상 자료형 (0) | 2022.03.25 |
---|---|
이진 탐색 트리 (Binary Search Tree) - 탐색, 삽입, 삭제 (0) | 2022.01.02 |
힙 자료구조 - insert 연산 (0) | 2022.01.01 |
힙 자료구조 - make heap 연산 (0) | 2022.01.01 |
힙 자료구조 (0) | 2021.12.31 |
댓글