Skip to main content
Glossary Term

Random access

Definition and Comparison - Random access is the ability to access any element of a sequence in equal time. - It allows for accessing data from a population of addressable elements efficiently. - It contrasts with sequential access, which retrieves data in the order it was stored. - Random access can be applied to single or multiple dimensions of data storage. - The choice of datum is arbitrary as long as the address is known. Terminology and History - The term 'random access' was initially used because records could be found in any sequence. - 'Direct access' gained favor as it emphasized the ability to retrieve any record directly. - The key attribute is the immediate access to any required record. - Sequential access takes longer to access remote elements. - The distinction can be illustrated with examples like ancient scrolls vs. books, or cassette tapes vs. CDs. Applications and Data Structures - Direct access is crucial in algorithms like binary search and integer sorting. - Arrays and related structures provide direct access to any entry in constant time. - Linked lists sacrifice direct access for efficient inserts, deletes, and re-ordering. - Self-balancing binary search trees offer a compromise with logarithmic retrieval time. - Direct access is valuable in data structures that require efficient element retrieval. References - National Computer Conference and Exposition (1957) Proceedings. - Introduction to IBM Direct-access Storage Devices and Organization Methods by IBM (1966). - Random and Sequential Data Access in 'The Art of Computer Programming' by D. E. Knuth (1969). - These references provide additional information on random access. - They can be consulted for further study and verification. Related Concepts - Data stream is a related concept to random access. - Random-access machine is another term associated with random access. - Random-access memory (RAM) is no longer truly random access due to cache and virtual memory. - Locality of reference is an important concept related to efficient data access. - These concepts are worth exploring to deepen understanding of random access.