ผลต่างระหว่างรุ่นของ "การเข้าถึงโดยสุ่ม"

ไม่มีคำอธิบายอย่างย่อ
(Nullzero ย้ายหน้า การเข้าถึงข้อมูลแบบสุ่ม ไปยัง การเข้าถึงโดยสุ่ม: ศัพท์บัญญัติ)
ไม่มีความย่อการแก้ไข
[[Image:Random vs sequential access.svg|thumb|right|การเข้าถึงข้อมูลแบบสุ่ม เปรียบเทียบกับ[[การเข้าถึงข้อมูลเชิงเส้น]]]]
 
ใน[[วิทยาการคอมพิวเตอร์]] '''การเข้าถึงข้อมูลแบบโดยสุ่ม''' ({{lang-en|random access}}) หรือ การเข้าถึงข้อมูลโดยตรง (direct access) คือความสามารถในการเข้าถึงข้อมูลใน[[ลำดับ]]ภายในเวลาที่เท่าๆกันสำหรับข้อมูลตัวใด ๆ ก็ตาม เวลาในการเข้าถึงข้อมูลนี้ไม่ขึ้นกับกับขนาดของลำดับด้วย ตัวอย่างของการเข้าถึงข้อมูลแบบโดยสุ่มคือการอ่านข้อมูลจาก[[แผ่นซีดี]] ซึ่งสามารถอ่านข้อมูลตำแหน่งใดๆได้ทันที
 
การเข้าถึงข้อมูลที่ตรงกันข้ามกับการเข้าถึงข้อมูลแบบโดยสุ่มคือ[[การเข้าถึงข้อมูลเชิงเส้น]] ซึ่งข้อมูลที่อยู่ไกลกว่าจะเสียเวลาในการเข้าถึงข้อมูลมากกว่า<ref>http://technet.microsoft.com/en-us/library/cc938619.aspx</ref> ตัวอย่างเช่นการอ่านข้อมูลจาก[[ตลับเทป]] ซึ่งต้องมีกรอเทปไปยังตำแหน่งที่ต้องการอ่านข้อมูล
 
สำหรับ[[โครงสร้างข้อมูล]] ความสามารถในการเข้าถึงข้อมูลแบบโดยสุ่มคือความสามารถในการเข้าถึง[[รายการ (โครงสร้างข้อมูล)|รายการ]]ได้ภายใน[[สัญกรณ์โอใหญ่|เวลาคงที่]] หรือ <math>O(1)</math> ซึ่งโครงสร้างข้อมูลที่เรียบง่ายที่สุดที่มีความสามารถนี้ก็คือ[[แถวลำดับ]] โครงสร้างข้อมูลที่เหลือที่มีความสามารถนี้ โดยมากแล้วก็จะมาจากการดัดแปลงแถวลำดับ เช่น [[แถวลำดับพลวัต]] อย่างไรก็ตาม การมีความสามารถในการเข้าถึงข้อมูลแบบโดยสุ่มก็ความหมายอีกนัยหนึ่งว่าที่อยู่ของหน่วยความจำต้องเรียงกันแบบมีแบบแผน ดังนั้นจึงทำให้โครงสร้างข้อมูลทั้งหลายที่มีความสามารถนี้ไม่สามารถเพิ่มข้อมูลกลางรายการได้อย่างมีประสิทธิภาพ บางโครงสร้างข้อมูลเช่น[[รายการโยง]]แลกความสามารถในการเข้าถึงแบบสุ่มด้วยความสามารถในการเพิ่มและลบข้อมูลกลางรายการแทน
 
ความสามารถในการเข้าถึงข้อมูลแบบสุ่มมีความสำคัญมาก มี[[ขั้นตอนวิธี]]มากมายที่ใช้ประโยชน์จากโครงสร้างข้อมูลที่มีการเข้าถึงข้อมูลแบบโดยสุ่ม เช่น [[การค้นหาแบบทวิภาค]] [[ขั้นตอนวิธีการเรียงลำดับ]] [[ตะแกรงเอราทอสเทนีส]] เป็นต้น
 
== อ้างอิง ==