zenn.skin 무료버전 배포중!
자세히보기

트리 2

CS/자료구조
[Python] 트리 구현 / 순회(전위 순회, 중위 순회, 후위 순회, 레벨 순회)

이진 탐색 트리를 구현하기에 앞서 기본적인 트리의 구현을 해보려 한다. 오늘 구현할 트리는 별도의 기능을 갖지 않고 트리의 순회를 중점적으로 보려 한다. 순회란 트리를 돌면서 어떤 원소가 있는지 확인하는 작업을 말한다. 이 때 어느 원소를 먼저 보는지에 따라 순회의 종류가 달라진다. 트리의 순회는 재귀 방법으로 쉽게 구현할 수 있다. 위의 트리를 코드로 구현해 보자 1. 트리의 구조 class Node(object): def __init__(self, item): self.item = item self.left = self.right = None class BinaryTree(object): def __init__(self): self.root = None - Node class에서 item원소는 루트(..

CS/자료구조
[자료구조] 트리(Tree)

1. 트리란? - 노드로 구성된 비선형 자료구조로 계층구조를 나타낼 때 사용 - 하나의 루트 노드를 가짐 - 루트 노드는 0개 이상의 자식 노드를 가짐 - 그래프의 한 종류로 사이클을 갖지 않는 그래프 - 나무의 가지처럼 계속 뻗어 나가는 계층구조로 나무를 뒤집은 모습을 생각해보자 - 컴퓨터에서 폴더 안에 폴더와 파일이 있는 구조도 트리 구조 2. 트리 관련 용어 - 간선(Edge): 노드들을 연결하는 선 - 루트 노드(Root Node): 부모 노드가 없는 최상위 노드, 트리는 하나의 루트 노드를 갖는다 - 단말 노드(Leaf Node): 자식이 없는 노드 - 부모 노드(Parent Node): 자식 노드를 갖는 상위 노드 - 자식 노드(Child Node): 부모 노드가 갖는 노드들 - 깊이(dept..