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

ต้นไม้คืออะไร
ต้นไม้เป็นโครงสร้างข้อมูลแบบลำดับชั้นที่ประกอบด้วยโหนด
คำศัพท์สำคัญ:
- ราก - โหนดบนสุด
- โหนดแม่และโหนดลูก - โหนดที่เชื่อมต่อกันโดยตรง
- ใบ - โหนดที่ไม่มีโหนดลูก
ตัวอย่าง: โหนดของต้นไม้แบบทวิภาค
ในภาษา 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 แล้ว

เรียนรู้ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ลิงก์ลิสต์
- สแตกและคิว
- ต้นไม้และกราฟ