반응형
[자료구조] 이진 트리 순회
CSE/자료구조 (data structure)2022. 10. 18. 00:00[자료구조] 이진 트리 순회

이진 트리 순회 이진 트리를 순회한다는 것은 이진 트리에 속하는 모든 노드를 한 번씩 방문하여 노드가 가지고 있는 데이터를 목적에 맞게 처리하는 것을 의미합니다. 이진 트리에서 순회가 중요한 이유는, 순회 순서에 따라 기대할 수 있는 결과값이 다르기 때문입니다. 이진 트리 순회 방법 전위, 중위, 후위 총 3가지의 방법이 있습니다. 이는 루트와 왼쪽 서브트리, 오른쪽 서브 트리 중에서 루트를 언제 방문하느냐에 따라 구분됩니다. 만약 루트를 방문하는 작업을 $V$라 하고, 왼쪽 서브트리 방문을 $L$, 오른쪽 서브트리 방문을 $R$이라고 한다면 다음과 같이 3가지 방법을 생각할 수 있습니다. 이진 트리의 순회방법 전위 순회(preorder traversal): VLR 중위 순회(inorder travers..

[자료구조] 트리 (Tree)
CSE/자료구조 (data structure)2022. 10. 16. 00:00[자료구조] 트리 (Tree)

트리란? 트리(Tree)는 나무입니다. 데이터의 자료를 나무의 형태처럼 나타냈다고 해서 트리라는 이름이 붙었습니다. 물론 데이터들을 정말 2차원 형태의 나무 그림으로 표현하는 것이 아니고, 앞에서 살펴본 연결 리스트에서 노드를 만들었듯이 여기서도 노드를 만들어서 서로 연결하며 구조를 만들면 됩니다. 나무를 자세히 살펴보면 나뭇가지가 나있는 것을 알 수 있는데, 이 형태를 뒤집어보면 가장 위에 뿌리가 오고 맨 아래에 나뭇잎이 매달려 있는 것을 상상해볼 수 있습니다. 이런 구조는 컴퓨터에서 자주 사용됩니다. 파일의 구조가 트리의 형태와 유사합니다. 이 곳에서는 UX가 폴더로 이루어져있어 트리라고 생각하지 못할 수도 있지만 노드로 표현한다면 트리처럼 나타낼 수 있어 결국 계층적인 데이터 구조를 표현할 수 있습..

[BOJ 11725] 트리의 부모 찾기 (C++)
CSE/알고리즘 (algorithm)2021. 11. 10. 15:14[BOJ 11725] 트리의 부모 찾기 (C++)

Problem https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net Comment 첫 번째 줄에 노드의 개수(N)를 받습니다. 두 번째 줄 부터 N-1개의 트리 상에서 연결된 두 정점을 받습니다(예를 들어, 노드를 7개 받았다면 6개의 연결된 두 정점을 받습니다.). 연결된 두 정점을 vector에 받으면서 추가해줍니다(이 때, 두 정점 각각 저장합니다.). 예를 들어, 두 정점 (1, 6)을 받았다면 tree[1].push_back(6)과 tree[6].push_back(1)을 수행하면서 tree[1]과 tre..

728x90
반응형
image