트리와 그래프
계층형 및 네트워크형 데이터 표현을 위한 트리와 그래프 구조를 살펴보세요.
트리와 그래프은(는) CoddyKit의 무료 C Academy 강의입니다. 이것은 3개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
C의 트리와 그래프
C의 트리와 그래프
트리와 그래프는 계층적 데이터와 네트워크 데이터를 표현하는 데 사용하는 비선형 자료 구조입니다.
이 단원에서는 다음 내용을 배웁니다:
- 트리와 그래프가 구성되는 방식
- C에서 이진 트리를 구현하는 방법
- 인접 리스트와 인접 행렬을 사용하여 그래프를 표현하는 방법

트리란 무엇인가요?
트리란 무엇인가요?
트리는 Node로 구성된 계층적 자료 구조입니다.
주요 용어:
- 루트 - 최상위 Node입니다.
- 부모와 자식 - 직접 연결된 Node입니다.
- 리프 - 자식이 없는 Node입니다.
예제: 이진 트리 Node
예제: 이진 트리 Node
C에서는 왼쪽과 오른쪽 자식 포인터를 가진 struct를 사용하여 이진 트리 Node를 정의합니다.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *left, *right;
};
struct Node* createNode(int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->left = newNode->right = NULL;
return newNode;
}
int main() {
struct Node *root = createNode(10);
return 0;
}이진 트리 순회
이진 트리 순회
순회 방법:
- 중위 순회 (LNR) - 왼쪽, Node, 오른쪽 순서입니다.
- 전위 순회 (NLR) - Node, 왼쪽, 오른쪽 순서입니다.
- 후위 순회 (LRN) - 왼쪽, 오른쪽, Node 순서입니다.
예제: 중위 순회
예제: 중위 순회
이 프로그램은 이진 트리를 중위 순회합니다.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *left, *right;
};
void inorder(struct Node *root) {
if (root != NULL) {
inorder(root->left);
printf("%d ", root->data);
inorder(root->right);
}
}
int main() {
struct Node *root = malloc(sizeof(struct Node));
root->data = 10;
root->left = NULL;
root->right = NULL;
inorder(root);
return 0;
}그래프란 무엇인가요?
그래프란 무엇인가요?
그래프는 간선으로 연결된 Node(정점)의 모음입니다.
그래프는 다음과 같이 나눌 수 있습니다:
- 방향 그래프 - 간선에 방향이 있습니다.
- 무방향 그래프 - 간선에 방향이 없습니다.
그래프 표현
그래프 표현
그래프는 다음과 같은 방법으로 표현할 수 있습니다:
- 인접 행렬 - 연결 관계를 나타내는 2차원 배열입니다.
- 인접 리스트 - 각 Node가 이웃 Node를 가리키는 목록입니다.
그래프 순회
그래프 순회
일반적인 순회 방법:
- 너비 우선 탐색 (BFS) - 더 깊이 이동하기 전에 모든 이웃을 방문합니다.
- 깊이 우선 탐색 (DFS) - 되돌아가기 전에 가능한 한 깊이 탐색합니다.
요약
요약
이 레슨에서는 다음을 배웠습니다:
- 트리와 그래프의 구조
- 트리 순회를 수행하는 방법
- 그래프를 표현하고 순회하는 방법
C 자료 구조 섹션을 마칩니다!

자주 묻는 질문
“트리와 그래프” 강의는 무료인가요?
네 — “트리와 그래프” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C Academy 강의 전체를 잠금 해제할 수 있습니다. C Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
“트리와 그래프”에서 뭘 배우나요?
계층형 및 네트워크형 데이터 표현을 위한 트리와 그래프 구조를 살펴보세요. 브라우저에서 직접 실행하는 실습 코드로 C Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 3번째 강의입니다.
“트리와 그래프” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.