Skip to content

Basic Structures

Array

Array เป็นโครงสร้างข้อมูลพื้นฐานสำหรับเก็บชุดข้อมูลแบบลำดับ โดยใช้ดัชนี (index) ในการเข้าถึงข้อมูลแต่ละตัว ซึ่งทำให้การอ่านข้อมูลทำได้รวดเร็ว แต่การเพิ่มหรือลบข้อมูลอาจต้องย้ายข้อมูลอื่นๆ

Object

Object เป็นโครงสร้างข้อมูลแบบคู่คีย์-ค่าที่ใช้เก็บข้อมูลแบบไม่เรียงลำดับ โดยใช้ key เป็นตัวระบุเฉพาะสำหรับเข้าถึง value ซึ่งทำให้การค้นหาทำได้รวดเร็ว แต่ไม่สามารถรักษาลำดับของข้อมูลได้

Linear Structures

Stack

Stack เป็นโครงสร้างข้อมูลแบบ LIFO (Last-In-First-Out) ที่เน้นการทำงานที่ส่วนบนสุดเท่านั้น โดยใช้การ push เพื่อเพิ่มข้อมูลและ pop เพื่อนำข้อมูลออก

Queue

Queue เป็นโครงสร้างข้อมูลแบบ FIFO (First-In-First-Out) ที่ทำงานกับข้อมูลด้านหน้าและด้านหลัง โดยใช้ enqueue เพื่อเพิ่มข้อมูลและ dequeue เพื่อนำข้อมูลออก

Linked List

Linked List เป็นโครงสร้างข้อมูลเชิงเส้นที่ประกอบด้วย node ที่เชื่อมต่อกันด้วย pointer ซึ่งทำให้การเพิ่ม/ลบข้อมูลทำได้รวดเร็ว แต่การเข้าถึงข้อมูลแบบสุ่มทำได้ช้า

Tree Structures

Binary Tree

Binary Tree เป็นโครงสร้างข้อมูลแบบลำดับชั้น โดยแต่ละ node มีลูกไม่เกินสองตัว ซึ่งทำให้การค้นหาทำได้รวดเร็ว แต่การเพิ่มหรือลบ node อาจต้องปรับโครงสร้างทั้งหมด

Binary Search Tree

Binary Search Tree เป็นประเภทเฉพาะของ Binary Tree ที่มีคุณสมบัติสำคัญ 3 ข้อ: ทุกโหนดใน subtree ซ้ายมีค่าน้อยกว่าโหนดปัจจุบัน, ทุกโหนดใน subtree ขวามีค่ามากกว่าโหนดปัจจุบัน, และทั้งสอง subtree ต้องเป็น Binary Search Tree ด้วย ซึ่งทำให้การค้นหาทำได้รวดเร็ว

Key-Value Structures

Hash Table

Hash Table เป็นโครงสร้างข้อมูลแบบ key-value pairs โดยใช้ hash function ในการเข้าถึงข้อมูล ซึ่งทำให้การค้นหาทำได้รวดเร็ว แต่อาจมีปัญหาการชนกันของ key

Graph Structures

Directed Graph

Directed Graph เป็นโครงสร้างข้อมูลแบบเครือข่ายที่มีการเชื่อมต่อระหว่างโหนดแบบมีทิศทางชัดเจน เหมาะสำหรับแสดงความสัมพันธ์แบบพ่อ-ลูก หรือลำดับขั้น

Undirected Graph

Undirected Graph เป็นโครงสร้างข้อมูลแบบเครือข่ายที่โหนดเชื่อมต่อกันแบบสองทาง ไม่มีทิศทางชัดเจน เหมาะสำหรับแสดงความสัมพันธ์แบบเพื่อนบ้านหรือเครือข่ายสังคม

Sorting Algorithms

Bubble Sort

Bubble Sort เป็นอัลกอริทึมการเรียงลำดับพื้นฐานที่ทำงานโดยการเปรียบเทียบและสลับค่าที่อยู่ติดกัน ซึ่งทำให้การใช้งานง่ายแต่ประสิทธิภาพต่ำ เหมาะสำหรับข้อมูลชุดเล็ก

Quick Sort

Quick Sort เป็นอัลกอริทึมแบบแบ่งแยกและเอาชนะที่ใช้ pivot ในการแบ่งข้อมูล ซึ่งทำให้มีประสิทธิภาพสูงในการเรียงลำดับข้อมูลชุดใหญ่ แต่การทำงานอาจไม่เสถียรในบางกรณี

Merge Sort

Merge Sort เป็นอัลกอริทึมแบบแบ่งแยกและจัดเรียงที่ทำงานโดยการแบ่งข้อมูลออกเป็นส่วนย่อยแล้วนำมารวมกันใหม่ ซึ่งทำให้มีประสิทธิภาพคงที่แต่ใช้หน่วยความจำมาก

Last updated: