In computer science
, random access
(sometimes called direct access
) is the ability to access an arbitrary element of a sequence
in equal time. The opposite is sequential access
, where a remote element takes longer time to access. A typical illustration of this distinction is to compare an ancient scroll
(sequential; all material prior to the data needed must be unrolled) and the book
(random: can be immediately flipped open to any random page
. A more modern example is a cassette tape (sequential—you have to fast-forward through earlier songs to get to later ones) and a compact disc (random access—you can jump right to the track you want). The term random access memory
(RAM), however, is used for semiconductor chip memory circuits used in computers. (The term was also used to describe ferrite-core memory
in early computers).
In data structures, random access implies the ability to access the Nth entry in a list of numbers in constant time. Very few data structures can guarantee this, other than arrays (and related structures like dynamic arrays). Random access is critical to many algorithms such as quicksort and binary search. Other data structures, such as linked lists, sacrifice random access to make for efficient inserts, deletes, or searches.