Data Structure & Algorithm(EP.1) — รู้จักกับโครงสร้างข้อมูลและอัลกอริทึม
Program = Data Structure ( โครงสร้างข้อมูล) + Algorithm(ขั้นตอนวิธี)
โครงสร้างข้อมูล (Data Structure)
คือ หน่วยข้อมูลย่อยหรือประเภทข้อมูลที่ถูกจัดวางในรูปแบบที่เหมาะสม โดยมีการนิยามความสัมพันธ์ภายในกลุ่มข้อมูลให้มีรูปแบบและข้อกำหนดที่ชัดเจน
ประโยชน์ของโครงสร้างข้อมูล
- ทำให้ข้อมูลมีระเบียบมากยิ่งขึ้น ง่ายต่อการนำไปใช้ตามวัตถุประสงค์ที่ต้องการ
- เมื่อจัดเก็บข้อมูลให้มีโครงสร้างก็จะส่งผลให้การทำงานของระบบเร็วขึ้น ถ้าจัดเก็บข้อมูลไม่ดี ไม่มีระเบียบก็จะส่งผลให้ระบบทำงานช้า
ประเภทของโครงสร้างข้อมูล
- โครงสร้างข้อมูลเชิงเส้น (Linear Data Structures)
- โครงสร้างข้อมูลไม่เชิงเส้น (Non-Linear Data Structures)
โครงสร้างข้อมูลเชิงเส้น (Linear Data Structures)
คือ โครงสร้างข้อมูลที่สมาชิกแต่ละตัวจะเชื่อมกับสมาชิกตัวถัดไปเพียงตัวเดียวและมีลำดับที่ต่อเนื่อง
- อาร์เรย์ (Array)
- สแต็ก (Stack)
- ลิงค์ลิสต์ (Linked-List)
- คิว (Queue)
โครงสร้างข้อมูลไม่เชิงเส้น (Non-Linear Data Structures)
คือ โครงสร้างที่ไม่มีคุณสมบัติของเชิงเส้น สามารถใช้แสดงความสัมพันธ์ของข้อมูล
ที่ซับซ้อนได้มากกว่าโครงสร้างข้อมูลแบบเชิงเส้น หมายถึงข้อมูลหนึ่งตัวมีความสัมพันธ์กับข้อมูลอื่นได้หลายตัว ตัวอย่าง เช่น
- ทรี (Tree)
- กราฟ (Graph)
อัลกอริทึม (Algorithm)
อัลกอริทึม หรือ ขั้นตอนวิธี เป็นวิธีการแสดงลำดับขั้นตอนในการทำงานหรือขั้นตอนในการแก้ปัญหา เช่น
ขั้นตอนการชงกาแฟ
- จัดเตรียมส่วนผสม (กาแฟ , น้ำตาล)
- ต้มน้ำให้เดือด
- นำส่วนผสมใส่ลงในแก้ว
- เทน้ำร้อนใส่แก้ว
- ผสมให้เข้ากัน
ขั้นตอนการทอดไข่เจียว
- หยิบไข่ไก่
- ตอกไข่ไก่ใส่ภาชนะ
- ปรุงรส
- ตีไข่
- เปิดแก๊สและติดไฟ
- ตั้งกระทะบนเตา
- ใส่น้ำมันพืช
- นำไข่ที่ปรุงรสแล้วใส่ในกระทะ
- ทอดจนสุก
- ตักใส่จาน
ขั้นตอนการโอนเงินที่ตู้ ATM
- ใส่บัตร ATM
- ป้อนรหัสบัตร ATM
- เข้าสู่หน้าบริการ
- เลือกเมนูโอนเงิน
- กดหมายเลขบัญชีปลายทางที่ต้องการโอน
- ป้อนจำนวนเงิน
- ตรวจสอบข้อมูลบัญชีปลายทาง
- กดตกลง
- รับบัตรคืน
- รับสลิปการโอนเงิน
บทความที่เกี่ยวข้อง
- EP.1 — รู้จักกับโครงสร้างข้อมูลและอัลกอริทึม
- EP.2 — การวัดประสิทธิภาพอัลกอริทึม
- EP.3 — อัตราการเติบโตของฟังก์ชั่น
- EP.4 — การวิเคราะห์อัลกอริทึม
- EP.5 — Big-O Notation
- EP.6 — การคำนวณ Big-O
- EP.7— ลิงค์ลิสต์ (Linked-List)
- EP.8— สแต็ก (Stack)
- EP.9 — คิว(Queue)
- EP.10 — ทรี (Tree)
- EP.11 — Binary Search Tree (BST)
- EP.12 — กราฟ(Graphs)
เนื้อหาที่เกี่ยวข้อง
ช่องทางการสนับสนุน
🎓 คอร์สพัฒนาเว็บด้วย JavaScript 40 Workshop