บทที่1 โครงสร้างข้อมูล(Data Structure)


โครงสร้างข้อมูล
1. ความหมายของโครงสร้างข้อมูล
       โครงสร้างข้อมูล (Data Structure) คือ ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในโครงสร้างนั้นๆ รวมทั้งกระบวนการในการจัดการข้อมูลในโครงสร้าง เช่น เพิ่ม แก้ไข ลบ ตัวอย่างของโครงสร้างข้อมูลประเภทต่างๆ ได้แก่ แถวลำดับ ลิงลิสต์ สแตก คิว ทรี และกราฟ.
2. ประเภทของโครงสร้างข้อมูล
       แบ่งออกเป็น 2 ประเภท คือ
  - โครงสร้างข้อมูลทางกายภาพ (Physical Data Structure)
   เป็นโครงสร้างข้อมูลที่ใช้โดยทั่วไปในภาษาคอมพิวเตอร์ แบ่งออกเป็น 2 ประเภท
1.ข้อมูลเบื้องต้น (Primitive Data Types)
  - จำนวนเต็ม (Integer)
  - จำนวนทศนิยม (Floating point)
  - ข้อมูลบูลีน (Boolean)
  - จำนวนจริง (Real)
  - ข้อมูลอักขระ (Character)
2.ข้อมูลโครงสร้าง (Structure Data Types)
  - แถวลำดับ (Array)
  - ระเบียนข้อมูล (Record)
  - แฟ้มข้อมูล (File)
 - โครงสร้างข้อมูลทาง ตรรกะ (Logical Data Structure)
 
        เป็นโครงสร้างข้อมูลที่เกิดจากการจินตนาการของผู้ใช้ เพื่อใช้ในการแก้ปัญหาในโปรแกรมที่สร้างขึ้น แบ่งเป็น 2 ประเภท
1. โครงสร้างข้อมูลแบบเชิงเส้น (Linear Data Structure)  
      ความสัมพันธ์ของข้อมูลจะเรียงต่อเนื่องกัน
    - ลิสต์ (List)
    - สแตก (Stack)
    - คิว (Queue)
    - สตริง (String)
2. โครงสร้างข้อมูลแบบไม่เชิงเส้น (Non-Linear Data Structure)
          ข้อมูลแต่ละตัวสามารถมีความสัมพันธ์กับข้อมูลอื่นได้หลายตัว
    - ทรี (Tree)
    - กราฟ (Graph)
3. การดำเนินการกับโครงสร้างข้อมูล(Data Structure Operation)
   วิธีดำเนินการกับข้อมูลที่นิยมใช้กันมากมี 4 แบบ คือ
  1. การเข้าถึงเรคคอร์ด (Traversing)
  2. การค้นหา (Searching)
  3. การเพิ่ม (Inserting)
  4. การลบ (Deleting)
  ยังมีการจัดการกับข้อมูลอีก 2 อย่าง คือ
  1. การเรียงข้อมูล (Sorting)
  2. การรวมข้อมูล (Merging)
  4. การแทนที่ข้อมูลในหน่วยความ จำ
        มีอยู่ 2 วิธี คือ
การแทนที่ข้อมูลแบบสแตติก (Static Memory Representation)
        เป็น การแทนที่ข้อมูลที่มีการจองเนื้อที่แบบคงที่แน่นอน ต้องมีการกำหนดขนาดก่อนการใช้งาน แต่มีข้อเสีย คือ ไม่สามารถปรับขนาดให้เพิ่มขึ้นหรือลดลงได้ โครงสร้างข้อมูลที่มีการแทนที่หน่วยความจำหลักแบบสแตติก คือแถวลำดับ (Array)
การแทนทีข้อมูลแบบไดนามิก (Dynamic Memory Representation)
       เป็น การแทนที่ข้อมูลที่ไม่ต้องจองเนื้อที่ ขนาดของเนื้อที่ยืดหยุ่นได้ ตามความต้องการของผู้ใช้  โครงสร้างข้อมูลที่มีการแทนที่หน่วยความจำหลักแบบไดนามิก คือ ตัวชี้หรือพอยเตอร์ (Pointer)
5. ลักษณะของโปรแกรมแบบที่มีโครงสร้าง ที่ดี
5.1 โครงสร้างโปรแกรมแบบคำสั่งตาม ลำดับ
        เป็น โครงสร้างพื้นฐานที่ประกอบด้วยคำสั่งทั่วๆไป เป็นโครงสร้างที่มีลักษณะการทำงานแบบเรียงลำดับ คือ จะทำงานตั้งแต่ต้นจนจบโดยไม่มีการข้ามขั้นตอนใดๆ
5.2 โครงสร้างโปรแกรมแบบมีการ ตัดสินใจ (Decision)
        มี การตรวจสอบเงื่อนไข เพื่อตัดสินใจว่าจะทำการประมวลผลส่วนใด โดยผลลัพธ์ของเงื่อนไขจะมีค่าของความเป็นไปได้อยู่ 2 ลักษณะ คือ จริงและเท็จ เท่านั้น
5.3 โครงสร้างโปรแกรมแบบเป็นวงจรปิด (Loop)
        มีลักษณะการทำงานซ้ำๆกัน อยู่ในส่วนใดส่วนหนึ่งของโปรแกรม
6. อัลกอริทึม (Algorithm)
       อัลกอรึทึม คือ วิธีการแก้ปัญหาต่างๆ อย่างมีระบบ มีลำดับขั้นตอนตั้งแต่ต้นจนได้ผลลัพธ์ สามารถเขียนได้หลายแบบ การเลือกใช้ต้องเลือกใช้ขั้นตอนวิธีที่เหมาะสม กระชับ และรัดกุม
อัลกอริทึมที่นิยมใช้กันมาก ได้แก่
1. อัลกอริทึมแบบแตกย่อย (Divide and conquer)
2. อัลกอริทึมแบบเคลื่อนที่ (Dynamic Programming)
3. อัลกอริทึมแบบทางเลือก (Greedy Algorithm)
การเขียนผังงาน (Flowchart)
       Flow Chart เป็นการอธิบายขั้นตอนการประมวลผลโดยใช้สัญลักษณ์ในการแสดงความหมายหรือกำหนด ลำดับการทำงาน การใช้กรอบรูปสัญลักษณ์ที่สื่อความหมาย อธิบายขั้นตอนการทำงานของโปรแกรม
การเขียนรหัสเทียม (Pseudo Code)
       Pseudo Code การอธิบายขั้นตอนการประมวลผลโดยใช้วลีภาษาอังกฤษในการแสดงอธิบาย ใช้คำสั้นๆ กะทัดรัด อธิบายขั้นตอนการทำงานของโปรแกรม
พัฒนาการของภาษาโปรแกรม
- ภาษาเครื่อง (Machine Language)
- ภาษาแอสเซมบลี (Assembly Language)
- ภาษาระดับสูง (High Level Language)
- ภาษายุคที่ 4  (Fourth Generation Language หรือ 4GL)
การบำรุงรักษาโปรแกรม (Program Maintenance)
        หมาย ถึง การแก้ไขข้อผิดพลาดที่พบระหว่างการทดสอบหรือระหว่างการใช้งาน ซึ่งอาจเป็นการเปลี่ยนข้อมูลที่ต้องการใช้ใหม่การปรับปรุงข้อมูล ให้ทันเหตุการณ์อยู่เสมอ การปรับเปลี่ยนโครงสร้างบนหน้าจอ เป็นต้น
 
หมายเลขบันทึก: 339242เขียนเมื่อ 22 กุมภาพันธ์ 2010 22:42 น. ()แก้ไขเมื่อ 23 มิถุนายน 2012 18:01 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกันจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท