0Pricing
C Academy · 강의

트리와 그래프

계층형 및 네트워크형 데이터 표현을 위한 트리와 그래프 구조를 살펴보세요.

트리와 그래프은(는) CoddyKit의 무료 C Academy 강의입니다. 이것은 3개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

C의 트리와 그래프

C의 트리와 그래프

트리와 그래프는 계층적 데이터와 네트워크 데이터를 표현하는 데 사용하는 비선형 자료 구조입니다.

이 단원에서는 다음 내용을 배웁니다:

  • 트리와 그래프가 구성되는 방식
  • C에서 이진 트리를 구현하는 방법
  • 인접 리스트와 인접 행렬을 사용하여 그래프를 표현하는 방법
트리와 그래프 — 일러스트레이션 1

트리란 무엇인가요?

트리란 무엇인가요?

트리는 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 자료 구조 섹션을 마칩니다!

트리와 그래프 — 일러스트레이션 10

자주 묻는 질문

“트리와 그래프” 강의는 무료인가요?

네 — “트리와 그래프” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 연결 리스트
  2. 스택과 큐
  3. 트리와 그래프
← C Academy(으)로 돌아가기