โครงสร้างข้อมูลและขั้นตอนวิธี
1.ความหมายของโครงสร้างข้อมูล
ข้อมูล (Data) คือ ข้อเท็จจริงต่างๆซึ่งอาจจะเป็นตัวเลขหรือไม่เป็นตัวเลขก็ได้
โครงสร้าง (Structure) คือ ความสัมพันธ์ของสมาชิกในกลุ่ม
โครงสร้างข้อมูล(Data Structure) คือ ความสัมพนธ์ระหว่างข้อมูลที่อยู่ในโครงสร้างนั้นๆ
2.โครงสร้างข้อมูลข้อมูล แบ่งออกเป็น 2 ประเภท
2.1โครงสร้างข้อมูลทางกายภาพ (Physical Data Structure) แบ่งเป็น2 ประเภท
2.1.1ข้อมูลเบื้องต้น (Primitive Data Types) ได้แก่ จำนวนเต็ม (Integer) จำนวนจริง (Real) และตัวอักขระ (Character)
2.1.2ข้อมูลโครงสร้าง (Structured Data Types) ได้แก่ แถวลำดับ (Array) ระเบียนข้อมูล (Record) และ แฟ้มข้อมูล (File)
2.2โครงสร้างข้อมูลทางตรรกะ (Logical Data Structure) แบ่งเป็น 2 ประเภท
2.2.1โครงสร้างข้อมูลเชิงเส้น ได้แก่ ลิสต์ (List) สแตก (Stack) คิว (Queue) สตริง (String)
2.2.1โครงสร้างข้อมูลเชิงเส้น ได้แก่ ลิสต์ (List) สแตก (Stack) คิว (Queue) สตริง (String)
2.2.2โครงสร้างข้อมูลไม่เชิงเส้น ได้แก่ ทรี (Tree) และกราฟ (Graph)
การเลือกใช้โครงสร้างข้อมูลจะต้องคำนึงถึง
การเลือกใช้โครงสร้างข้อมูลจะต้องคำนึงถึง
1.โครงสร้างข้อมูลนั้นสามารถสร้างความสัมพันธ์ให้กับข้อมูลชุดนั้นได้อย่างสมบูรณ์ที่สุด
2.โครงสร้างข้อมูลนั้นต้องง่ายต่อการดำเนินการในระบบ
3.การแทนที่ข้อมูลในหน่วยความจำหลัก มี 2 วิธี คือ
1.การแทนที่ข้อมูลแบบสแตติก (Static Memory Representation) เป็นการแทนที่ข้อมูลที่มีการแบบจองเนื้อที่คงที่แน่นอน มีการกำหนดขนาดก่อนการใช้งาน ข้อเสีย คือไม่สามารถปรับขนาดให้เพิ่มขึ้นหรือลดลงได้
2.การแทนที่แบบไดนามิก (Dynamic Memory Representation) เป็นการแทนที่ข้อมูลที่ไม่ต้องจองเนื้อที่และขนาดของเนื้อที่ที่นำมาใช้สามารถยืดหยุ่นได้ตามความต้องการของผู้ใช้ นอกจากนั้นส่วนเนื้อที่ในหน่วยความจำหลักที่ไม่ใช้แล้วสามารถส่งคืนเพื่อกลับมาใช้ใหม่ได้อีก
2.การแทนที่แบบไดนามิก (Dynamic Memory Representation) เป็นการแทนที่ข้อมูลที่ไม่ต้องจองเนื้อที่และขนาดของเนื้อที่ที่นำมาใช้สามารถยืดหยุ่นได้ตามความต้องการของผู้ใช้ นอกจากนั้นส่วนเนื้อที่ในหน่วยความจำหลักที่ไม่ใช้แล้วสามารถส่งคืนเพื่อกลับมาใช้ใหม่ได้อีก
4.ขั้นตอนวิธี (Algorithm) เป็นการแก้ปัญหาต่างๆ อย่างมีระบบ และลำดับตั้งแต่ต้นจนกระทั่งได้ผลลัพธ์สามารถเขียนได้หลายรูปแบบ การเลือกใช้ต้องเลือกใช้ขั้นตอนวิธีที่เหมาะสม กระชับ และรัดกุม
ขั้นตอนวิธีที่ดีควรมีคุณสมบัติ ดังนี้
1.มีความถูกต้อง
2.ใช้เวลาในการปฎิบัติงานน้อยที่สุด
3.สั้น กระชับ มีเฉพาะขั้นตอนที่จำเป็นเท่านั้น
4.ใช้หน่วยความจำน้อยที่สุด
5.มีความยืดหยุ่นในการใช้งาน
6.ใช้เวลาในการพัฒนาน้อยที่สุด
7.ง่ายต่อการทำความเข้าใจ
คำถาม : ขั้นตอนวิธีที่ดีควรมีคุณสมบัติอย่างไร
คำถาม : ขั้นตอนวิธีที่ดีควรมีคุณสมบัติอย่างไร
ไม่มีความคิดเห็น:
แสดงความคิดเห็น