Please enable JavaScript.
Coggle requires JavaScript to display documents.
โครงสร้างข้อมูล (1.การพัฒนาโปรแกรม (Program Development) (1.1…
โครงสร้างข้อมูล
-
โครงสร้างข้อมูลอาร์เรย์ใช้เก็บอิลีเมนต์ที่มีชนิดข้อมูลชนิดเดียวกันจํานวนหนึ่งแต่มีลําดับเฉพาะ
อิลีเมนต์ของอาร์เรย์เข้าถึงโดยใช้เลขจํานวนเต็มระบุตําแหน่งของอิลีเมนต
• แฮช (Hash) หรือ ดิกชันนารีหรือ แมพ เป็นโครงสร้างข้อมูลที่ยืดหยุ่นมากกว่าเรคคอร์ด
ซึ่งการเก็บข้อมูล จะเป็นแบบคู่ของ ชื่อ-ค่า และสามารถเพิ่มหรือลบข้อมูลได้อย่างอิสระ
• เรคคอร์ด (อาจเรียกเป็น ทูเปิ้ล หรือสตรัค) เรคคอร์ดเป็นโครงสร้างข้อมูลชนิดหนึ่งในกลุ่ม
โครงสร้างข้อมูลแบบง่าย
• ยูเนียน (Union) การนิยามยูเนียน จะระบุจํานวน
ของชนิดข้อมูลดั้งเดิมที่อาจใช้ใส่อินสแตนท์เช่น
"float หรือ long integer"
• แท็กยูเนียน (tagged union) (มักเรียกว่า แวเรียน แวเรียนเรคคอร์ด หรือดิสจอยส์ยูเนียน)
เป็นโครงสร้างที่บรรจุฟิลด์เพิ่มเติมที่ชี้ชนิดข้อมูลป้จจุบันของมัน เพื่อการขยายชนิดข้อมูลอย่างปลอดภัย
• เซต (Set) เป็นโครงสร้างข้อมูลนามธรรมซึ่งสามารถเก็บค่าเฉพาะ
โดยไม่ต้องมีลําดับ และไม่มีค่า
ที่ซ้ํากัน ค่าที่เก็บในเซต
• วัตถุ(Object) เป็นโครงสร้างที่บรรจุฟิลด์ข้อมูลได้เช่นเดียวกับเรคคอร์ด และยังมีโค้ดของโปรแกรม
สําหรับทํางานกับข้อมูลนั้นด้วย สําหรับโครงสร้างข้อมูลที่ไม่มีโคัด มักเรียกว่า plain old data structure.
ประเภทของโครงสร้างข้อมูล
- โครงสร้างข้อมูลทางกายภาพ(Physical Data Structure)
- โครงสร้างข้อมูลทางตรรกะ(Logical Data Structure)
ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในโครงสร้างนั้น ๆ รวมทั้งกระบวนการในการจัดการข้อมูลในโครงสร้าง หรือ การจัดเตรียมรูปแบบการเก็บข้อมูลในหน่วยความจำอย่างมีระเบียบแบบแผนการแทนข้อมูลให้อยู่ในรูปแบบที่ถูกต้อง ตลอดจนกรรมวิธีการเข้าถึงข้อมูลในโครงสร้างให้เป็นไปอย่างมีประสิทธิภาพ
โครงสร้างข้อมูลพื้นฐาน
- บิท (Bit) คือ ข้อมูลที่มีขนาดเล็กที่สุดในการทำงานของคอมพิวเตอร์
- ไบต์ (Byte) หรือ อักขระ (Character) คือ ตัวเลข หรือ ตัวอักษร หรือ สัญลักษณ์พิเศษ จำนวน 1 ตัว
- ฟิลด์ (Field) หรือ เขตข้อมูล คือ ไบต์ หรือ อักขระตั้งแต่ 1 ตัวขึ้นไปรวมกันเป็นฟิลด์ เช่น เลขประจำตัว หรือ ชื่อพนักงาน
- เรคคอร์ด (Record) หรือระเบียน คือ ฟิลด์ตั้งแต่ 1 ฟิลด์ขึ้นไป ที่มีความสัมพันธ์เกี่ยวข้องกันมารวมกัน
- ไฟล์ (File) หรือ แฟ้มข้อมูล คือ หลายเรคคอร์ดมารวมกัน เช่น ข้อมูลที่อยู่นักเรียนมารวมกัน
- ฐานข้อมูล (Database) คือ หลายไฟล์ข้อมูลมารวมกัน เช่น ไฟล์ข้อมูลนักเรียนมารวมกันในงานทะเบียน แล้วรวมกับไฟล์การเงิน
- การวัดประสิทธิภาพของขั้นตอนวิธี(Algorithm Efficiency)
การเขียนโปรแกรมคอมพิวเตอร์ไม่ว่าจะเป็นภาษาปาสคา(PASCALLanguage) ภาษาซ๊C Language) ภาษาโคบอล(COBOL Language) หรือภาษาอื่นๆๆ โปรแกรมที่เขียนขึ้นมานั้น จะมี
ประสิทธิภาพเพียงใด สามารถที่จะวัดได้หลายอย่าง
วัดจากความเร็วที่ใช้ในหน่วยความจําหลัก
หรือหน่วยความจําสํารองที่โปรแกรมนั้นๆ ต้องใช้หรือวัดจากความเร็วที่ใช้ในการทํางาน
- ความหมายของโครงสร้างข้อมูล (Meaning of Data Structure)
คําว่าโครงสร้างข้อมูล เกิดจากคําสองคําคือ คําว่า โครงร้าง(Structure) และคําว่าข้อมูล(Data)สําหรับข้อมูล หมายถึง ขอเท็จจริงหรือสิ่งที่ถือหรือยอมรับว่าเป็นข้อเท็จจริงสําหรับใช้เป็นหลักอนุมานหาความจริงหรือการคํานวณ และโครงสร้าง หมายถึง ส่วนประกอบสําคัญๆ ซึ่งนํามาคุมเข้าด้วยกันให้เป็นรูปร่างเดียวกัน ดังนั้นโครงสร้างข้อมูล หมายถึง การนําเอาข้อมูลหรือส่วนย่อยๆ ที่ได้ทํา
การรวบรวมมาให้อยู่ในรูปแบบหรือโครงสร้างที่เหมาะสม เพื่อให้เครื่องคอมพิวเตอร์ประมวลผล ข้อมูลได้อย่างรวดเดียว และมีประสิทธิภาพ จะเห็นว่าสิ่งพื้นฐานในการประมวลผลข้อมูลด้วย คอมพิวเตอร์ก็คือ
ข้อมูล ดังนั้นการศึกษาถึงความสัมพันธ์ของข้อมูลจึงมีความสําคัญอย่างมากในศาสตร์คอมพิวเตอร์
- การแทนที่โครงสร้างข้อมูลในหน่วยความจําหลัก (Memory Representation of Data
Structure)
ข้อมูลที่จัดเก็บใว้ในหน่วยความจําสํารองไม่ว่าจะเป็นจานแม่เหล็กชนิดอ่อน (Floppy Disk) หรือ
จากแม่เหล็กชนิดแข็ง(Harddisk) ก็ตาม เมื่อจะนํามาประมวลผลข้อมูลต้องดึงข้อมูลเหล่านั้น มาใว้ใน
หน่วยความจําหลักเสมอ และเมื่อทําการประมวณผลเสร็จจะต้องมีการคืนเนื้อที่ใน หน่วยความจําหลัก
ให้กับระบบ เพื่อที่จะเตรียมใว้จัดเก็บข้อมูลอื่นๆ ต่อไป ซึ่งการแทนที่โครงสร้างข้อมูล ในหน่วยความจํา
-
-
- ประเภทของโครงสร้างข้อมูล (Type of Data Structure)
การพัฒนาโปรแกรมคอมพิวเตอร์เพื่อที่จะนําไปใช้ในระบบต่างๆ นอกจากพัฒนาจะต้องเรียนรู้
เกี่ยวกับขั้นตอนวิธีภาษาคอมพิวเตอร์และสามารถเลือกภาษาคอมพิวเตอร์ที่เหมาะสมกับระบบงานแล้วแต่ถ้ามีระบบงานที่ซับซ้อนมากขึ้นและมีข้อมูลที่จะต้องนํามาใช้ในการประมวลผล จํานวนมาก
สิ่งที่ผู้พัฒนาจะต้องคํานึงถึงก็คือ ประสิทธิภาพการทํางานของโปรแกรม การประมวลผลที่รวดเร็วโครงสร้างข้อมูลทางตรรกะ (Logical) เป็นโครงสร้างข้อมูลที่เกิดจากจินตนาการ
ของผู้ใช้เพื่อใช้แก้ปัญหาในโปรแกรมที่สร้างขึ้น สามารถแยกเป็น 2 ประเภท ดังต่อไปนี้
-
-