C Academy · บทเรียน

ต้นไม้และกราฟ

สำรวจโครงสร้างต้นไม้และกราฟสำหรับแทนข้อมูลแบบลำดับชั้นและแบบเครือข่าย

บทเรียน 3 จาก 310 ขั้นตอน

ต้นไม้และกราฟ เป็นบทเรียน C Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

ต้นไม้และกราฟใน C

ต้นไม้และกราฟคือโครงสร้างข้อมูลแบบไม่เป็นเชิงเส้นที่ใช้แสดงข้อมูลแบบลำดับชั้นและข้อมูลในเครือข่าย

ในบทเรียนนี้ คุณจะได้เรียนรู้:

  • ต้นไม้และกราฟมีโครงสร้างอย่างไร
  • วิธีนำต้นไม้ทวิภาคไปใช้งานใน C
  • วิธีแสดงกราฟโดยใช้รายการประชิดและเมทริกซ์ประชิด
ต้นไม้และกราฟ — ภาพประกอบ 1

ต้นไม้คืออะไร

ต้นไม้เป็นโครงสร้างข้อมูลแบบลำดับชั้นที่ประกอบด้วยโหนด

คำศัพท์สำคัญ:

  • ราก - โหนดบนสุด
  • โหนดแม่และโหนดลูก - โหนดที่เชื่อมต่อกันโดยตรง
  • ใบ - โหนดที่ไม่มีโหนดลูก

ตัวอย่าง: โหนดของต้นไม้แบบทวิภาค

ในภาษา C โหนดของต้นไม้แบบทวิภาคกำหนดโดยใช้ struct ซึ่งมีพอยน์เตอร์ไปยังโหนดลูกด้านซ้ายและด้านขวา

#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;
}

การท่องต้นไม้แบบทวิภาค

วิธีการท่อง:

  • Inorder (LNR) - ซ้าย, Node, ขวา
  • Preorder (NLR) - Node, ซ้าย, ขวา
  • Postorder (LRN) - ซ้าย, ขวา, Node

ตัวอย่าง: การท่องแบบ Inorder

โปรแกรมนี้ท่องต้นไม้แบบทวิภาคด้วยวิธี inorder

#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;
}

กราฟคืออะไร

กราฟคือกลุ่มของโหนด (จุดยอด) ที่เชื่อมต่อกันด้วยเส้นเชื่อม

กราฟมีได้หลายแบบ:

  • มีทิศทาง - เส้นเชื่อมมีทิศทาง
  • ไม่มีทิศทาง - เส้นเชื่อมไม่มีทิศทาง

การแทนกราฟ

สามารถแทนกราฟได้โดยใช้:

  • เมทริกซ์การเชื่อมโยง - อาร์เรย์สองมิติที่แทนการเชื่อมต่อ
  • รายการการเชื่อมโยง - รายการที่โหนดแต่ละโหนดชี้ไปยังโหนดข้างเคียง

การท่องกราฟ

วิธีการท่องที่ใช้กันทั่วไป:

  • การค้นหาแบบกว้างก่อน (BFS) - เยี่ยมชมโหนดข้างเคียงทั้งหมดก่อนลงไปยังระดับที่ลึกขึ้น
  • การค้นหาแบบลึกก่อน (DFS) - สำรวจให้ลึกที่สุดเท่าที่ทำได้ก่อนย้อนกลับ

สรุป

ในบทเรียนนี้ คุณได้เรียนรู้:

  • โครงสร้างของต้นไม้และกราฟ
  • วิธีท่องต้นไม้
  • วิธีแทนและท่องกราฟ

จบหัวข้อโครงสร้างข้อมูลในภาษา C แล้ว

ต้นไม้และกราฟ — ภาพประกอบ 10
เริ่มต้นได้ฟรี

เรียนรู้ C ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
39
บทเรียน
144

คำถามที่พบบ่อย

บทเรียน “ต้นไม้และกราฟ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ต้นไม้และกราฟ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ต้นไม้และกราฟ”

สำรวจโครงสร้างต้นไม้และกราฟสำหรับแทนข้อมูลแบบลำดับชั้นและแบบเครือข่าย คุณปฏิบัติ C Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน

บทเรียน “ต้นไม้และกราฟ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C Academy นี้ได้ไหม

ได้ บทเรียน C Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ลิงก์ลิสต์
  2. สแตกและคิว
  3. ต้นไม้และกราฟ
← กลับไปที่ C Academy