1. โครงสร้างข้อมูลแบบเชิงเส้น (Linear Lists) มีรูปแบบเป็นรายการต่อเนื่อง ข้อมูลที่จัดเก็บจะมีลักษณะเป็นแถวลำดับต่อเนื่อง เช่น อาร์เรย์(Array) สแต็ก(Stacks) และคิว(Queues) เป็นต้น
2. โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear Lists) โครงสร้างข้อมูลชนิดนี้จะต้องข้ามกับแบบแรก เช่น ทรี(Trees) และกราฟ(Graphs) เป็นต้น
โครงสร้างข้อมูลแบบอาร์เรย์(Array)
อาร์เรย์ คือ การรวมกลุ่มของตัวแปรที่สามารถใช้ตัวแปรชื่อเดียวแทนข้อมูลสมาชิกได้หลายๆตัวด้วยการใช้ดรรชนี(Index) หรือซับสคริปต์(Subscript) เป็นตัวอ้างอิงตำแหน่ง
คุณสมบัติสำคัญของอาร์เรย์
1.อาร์เรย์เป็นตัวแทนของกลุ่มที่มีความสัมพันธ์กัน
2.มีชนิดข้อมูลเหมือนกันทั้งหมด
3.อาร์เรย์มีขนาดคงที่
4.ผู้ใช้สามารถอ้างอิงเพื่อเข้าถึงข้อมูลที่ต้องการได้ทันที
การอ้างอิงตำแหน่งสมาชิกในอาร์เรย์
ต้องเริ่มต้นด้วยชื่ออาร์เรย์และตามด้วยเลขลำดับกำกับไว้ด้วย ซึ่งลำดับเหล่านี้สามารถเรียกได้หลายชื่อด้วยกัน เช่น ซัปสคริปต์ หรือเลขดรรชนี
ขอบเขตของอาร์เรย์ (Bounds)
-ภาษา C,C++,C#,JAVA จะถูกกำหนดขอบเขตล่างสุดเท่ากับ 0
-ภาษา FRONTRAN จะถูกกำหนดขอบเขตล่างสุดเท่ากับ 1
- ADA,PL/1,PASCAL สามารถทำการกำหนดขอบเขตล่างสุดและขอบเขตบนสุดของอาร์เรย์ได้ รวมถึงกำหนดขอบเขตค่าติดลบได้
การคำนวณจำนวนสามาชิกของอาร์เรย์ 1 มิติ
| จำนวนสมาชิก = U + L + 1 |
การคำนวณจำนวนสามาชิกของอาร์เรย์ 2 มิติ
| จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1) |
การคำนวณจำนวนสามาชิกของอาร์เรย์ 3 มิติ
| จำนวนสมาชิก = (U1 – L1 + 1) x (U2 – L2 + 1) x (U3 – L3 + 1) |
การจัดเก็บอาร์เรย์ในหน่วยความจำ
อาร์เรย์ 1 มิติ รูปแบบโครงสร้างข้อมูลอาร์เรย์ 1 มิติ คือ
| ArrayName [ L : U ] |
สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 1 มิติ
| LOC(a[ i ]) = B + W(i + L) |
อาร์เรย์ 2 มิติ รูปแบบโครงสร้างข้อมูลอาร์เรย์ 2 มิติ คือ
| ArrayName [ L1 : U1, L2 : U2 ] |
สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 2 มิติ
- รูปแบบการเรียงแถวเป็นหลัก
LOC(K[ i,j ] ) = B + W[C(i – L1) + (j – L2) ]
โดยที่ C คือจำนวนคอลัมน์ของแถวลำดับ (R x C)
- รูปแบบการเรียงคอลัมน์เป็นหลัก
อาร์เรย์ 3 มิติ รูปแบบโครงสร้างข้อมูลอาร์เรย์ 3 มิติ คือ
LOC(K[ i,j ] ) = B + W[R(j – L2)]+ (i – L1) ]
โดยที่ R คือจำนวนแถวของแถวลำดับ (R x C)
สูตรการคำนวณเพื่อค้นหาตำแหน่งแอดแดรสในหน่วยความจำของอาร์เรย์ 3 มิติ
ArrayName [ L1 : U1, L2 : U2, L3 : U3 ]
- รูปแบบการเรียงแถวเป็นหลัก
LOC(S[ i,j,k ] = B + [W x R x C(i – L1)]
+ [W x C(j – L2)]
+ [W(k - L3)]
- รูปแบบการเรียงคอลัมน์เป็นหลัก
LOC(S[ i,j,k ] = B + [W x K x R x C(j – L2)]
+ [W x K x R(i– L1)]
+ [k - L3]
ไม่มีความคิดเห็น:
แสดงความคิดเห็น