การเข้าถึงโดยสุ่ม

จากวิกิพีเดีย สารานุกรมเสรี
การเข้าถึงโดยสุ่ม เปรียบเทียบกับการเข้าถึงเชิงเส้น

ในวิทยาการคอมพิวเตอร์ การเข้าถึงโดยสุ่ม (อังกฤษ: random access) หรือ การเข้าถึงโดยตรง (direct access) คือความสามารถในการเข้าถึงข้อมูลในลำดับภายในเวลาที่เท่าๆกันสำหรับข้อมูลตัวใด ๆ ก็ตาม เวลาในการเข้าถึงข้อมูลนี้ไม่ขึ้นกับกับขนาดของลำดับด้วย ตัวอย่างของการเข้าถึงโดยสุ่มคือการอ่านข้อมูลจากแผ่นซีดี ซึ่งสามารถอ่านข้อมูลตำแหน่งใดๆได้ทันที

การเข้าถึงข้อมูลที่ตรงกันข้ามกับการเข้าถึงโดยสุ่มคือการเข้าถึงเชิงเส้น ซึ่งข้อมูลที่อยู่ไกลกว่าจะเสียเวลาในการเข้าถึงข้อมูลมากกว่า[1] ตัวอย่างเช่นการอ่านข้อมูลจากตลับเทป ซึ่งต้องมีกรอเทปไปยังตำแหน่งที่ต้องการอ่านข้อมูล

สำหรับโครงสร้างข้อมูล ความสามารถในการเข้าถึงโดยสุ่มคือความสามารถในการเข้าถึงรายการได้ภายในเวลาคงที่ หรือ O(1) ซึ่งโครงสร้างข้อมูลที่เรียบง่ายที่สุดที่มีความสามารถนี้ก็คือแถวลำดับ โครงสร้างข้อมูลที่เหลือที่มีความสามารถนี้ โดยมากแล้วก็จะมาจากการดัดแปลงแถวลำดับ เช่น แถวลำดับพลวัต อย่างไรก็ตาม การมีความสามารถในการเข้าถึงโดยสุ่มก็ความหมายอีกนัยหนึ่งว่าที่อยู่ของหน่วยความจำต้องเรียงกันแบบมีแบบแผน ดังนั้นจึงทำให้โครงสร้างข้อมูลทั้งหลายที่มีความสามารถนี้ไม่สามารถเพิ่มข้อมูลกลางรายการได้อย่างมีประสิทธิภาพ บางโครงสร้างข้อมูลเช่นรายการโยงแลกความสามารถในการเข้าถึงแบบสุ่มด้วยความสามารถในการเพิ่มและลบข้อมูลกลางรายการแทน

ความสามารถในการเข้าถึงโดยสุ่มมีความสำคัญมาก มีขั้นตอนวิธีมากมายที่ใช้ประโยชน์จากโครงสร้างข้อมูลที่มีการเข้าถึงข้อมูลโดยสุ่ม เช่น การค้นหาแบบทวิภาค ขั้นตอนวิธีการเรียงลำดับ ตะแกรงเอราทอสเทนีส เป็นต้น

อ้างอิง[แก้]