วันอาทิตย์ที่ 28 มิถุนายน พ.ศ. 2552

DTS: 01-17-06-2552

เรื่อง Introduction

โครงสร้างข้อมูล คือ หน่วยข้อมูลย่อยๆ (Data Elements)เช่น การเลือกใช้ค่า n โดยชนิดของข้อมูล char ch; เป็นการกำหนดให้คอมพิวเตอร์จัดเตรียมหน่วยความจำขนาด 8 บิต int i; เป็นการกำหนดให้คอมพิวเตอร์จัดเตรียมหน่วยความจำขนาด16 บิต float average; เป็นการกำหนดให้คอมพิวเตอร์จัดเตรียมหน่วยความจำขนาด 32 บิต
ประเภทของโครงสร้างข้อมูล
1. โครงสร้างข้อมูลทางกายภาพ(Physical Data Structure)เป็นโครงสร้างข้อมูลทั่วไปที่มีใช้ในภาษาคอมพิวเตอร์ ซึ่งแบ่งออกเป็น 2 ประเภทตามลักษณะข้อมูล ดังนี้1.2 ข้อมูลเบื้องต้น (primitive data types) เป็นข้อมูลพื้นฐานซึ่งมีโครงสร้างข้อมูลไม่ซับซ้อนจะต้องมีในภาษาคอมพิวเตอร์ทุกภาษา ตัวอย่างของข้อมูลประเภทนี้ เช่น- จำนวนเต็ม (integer)- จำนวนจริง (real)- ตัวอักขระ (character)
2. โครงสร้างข้อมูลทางตรรกะ (Logical Data Structure)
เป็น โครงสร้างข้อมูลที่เกิดจากจินตนาการของผู้ใช้เพื่อใช้แก้ปัญหาในโปรแกรมที่สร้างขึ้น จำแนกได้เป็น 2 ประเภท ดังนี้
2.1 โครงสร้างข้อมูลแบบเชิงเส้น (linear data structures) เป็นชนิดข้อมูลที่ความสัมพันธ์ของข้อมูลเรียงต่อเนื่องกัน โดยข้อมูลตัวที่ 2 อยู่ต่อจาก ข้อมูลตัวที่ 1 ข้อมูลตัวที่ 3 อยู่ต่อจากข้อมูลตัวที่ 2 และข้อมูลตัวที่ n อยู่ต่อจากข้อมูลตัวที่ n - 1 ตัวอย่างโครงสร้างข้อมูลแบบเชิงเส้น เช่น
- ลิสต์ (list)
- สแตก (stack)
- คิว (queue)
- ดีคิว (deque)- สตริง (string)
2.2 โครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น (non-linear data structures) เป็นชนิดข้อมูลที่ข้อมูลแต่ละตัวสามารถมีความสัมพันธ์กับข้อมูลอื่นได้หลายตัว (ดูรายละเอียดเพิ่มเติมได้ในบทที่ 7) ตัวอย่างโครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น
- ทรี (tree)
- กราฟ (graph)
การแทนที่ข้อมูลในหน่วยความจำหลัก
เป็นที่ทราบกันแล้วว่าในขณะประมวลผลด้วยคอมพิวเตอร์ ข้อมูลที่ต้องการประมวลผลจะถูกนำไปเก็บในหน่วยความจำหลัก ดังนั้นเมื่อเราต้องใช้โครงสร้างข้อมูล จึงต้องมีการแทนที่ข้อมูลในหน่วยความจำหลักด้วยเช่นกัน โดยทั่วไปการเขียนโปรแกรมคอมพิวเตอร์มีการแทนที่ข้อมูลในหน่วยความจำหลักอยู่ 2 วิธี คือ1. การแทนที่ข้อมูลแบบสแตติก (static memory representation)การแทนที่ข้อมูลแบบสแตติก เป็นการแทนที่ข้อมูลที่มีการจองเนื้อที่แบบคงที่แน่นอน การแทนที่แบบนี้ต้องมีการกำหนดขนาดก่อนการใช้งาน ข้อเสียของการแทนที่ด้วยวิธีนี้ก็คือไม่สามารถปรับขนาดให้เพิ่มขึ้นหรือลดลงได้ ไม่สามารถเก็บข้อมูลเกินขนาดเนื้อที่ที่กำหนดไว้ และถ้ากำหนดขนาดเนื้อที่ไว้มากเกินจำเป็นทั้งๆ ที่มีข้อมูลอยู่จำนวนน้อยจะทำให้สูญเสียเนื้อที่โดยเปล่าประโยชน์ โครงสร้างข้อมูลที่มีการแทนที่ในหน่วยความจำหลักด้วยวิธีนี้คือ แถวลำดับ (Array)
2. การแทนที่ข้อมูลแบบไดนามิก (dynamic memory representation)การแทนที่ข้อมูลแบบไดนามิก เป็นการแทนที่ข้อมูลที่ไม่ต้องจองเนื้อที่และขนาดของเนื้อที่ก่อนการใช้งาน สามารถยืดหยุ่นได้ตามความต้องการของผู้ใช้ นั่นคือถ้าข้อมูลมีน้อยก็ใช้เนื้อที่น้อย และถ้าข้อมูลมีมากก็สามารถใช้เนื้อที่มากตามที่ใช้จริงได้ นอกจากนั้นส่วนเนื้อที่ในหน่วยความจำหลักที่ไม่ใช้แล้วสามารถส่งคืนเพื่อกลับมาใช้ใหม่ได้อีก ภาษาคอมพิวเตอร์ระดับสูงบางภาษาเท่านั้นที่สามารถแทนที่ข้อมูลด้วยวิธีนี้ เช่น ภาษาซี ภาษาปาสคาล เป็นต้น สำหรับโครงสร้างข้อมูลที่มีการแทนที่ในหน่วยความจำหลักแบบไดนามิก คือ ตัวชี้ หรือ พอยน์เตอร์ (pointer)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น