Zufallszugriff

Zufallszugriff im Vergleich zu Sequentieller Zugriff

Zufallszugriff (genauer und allgemeiner genannt direkter Zugang) ist die Fähigkeit, zu einem willkürlichen Element einer Sequenz zu gleichen Zeit oder einem beliebigen Daten aus einer Population von zuzugreifen adressierbar Elemente ungefähr so ​​einfach und effizient wie jeder andere, egal wie viele Elemente im Set enthalten sein können. Im Informatik es steht normalerweise im Gegensatz zu Sequentieller Zugriff Dies erfordert, dass Daten in der Reihenfolge abgerufen werden, die sie gespeichert wurden.

Beispielsweise können Daten in einer einzigen Sequenz wie einer Zeile, in zwei Dimensionen wie Zeilen und Säulen auf einer Oberfläche oder in mehreren Dimensionen fernzündlich gespeichert werden. Angesichts aller Koordinaten kann ein Programm jedoch auf jeden Datensatz so schnell und einfach zugreifen wie jeder andere. In diesem Sinne ist die Auswahl des Datums in dem Sinne willkürlich, dass unabhängig davon, welcher Gegenstand gesucht wird, alles, was benötigt wird, um es zu finden, seine Adresse ist, d. H. Die Koordinaten, bei denen es sich befindet, wie z. B. seine Zeile und Spalte (oder seine Spur und Aufzeichnungsnummer auf a magnetische Trommel). Zunächst wurde der Begriff "Zufallszugriff" verwendet, da der Prozess in der Lage sein musste, Datensätze zu finden, unabhängig davon, welche Sequenz sie benötigten.[1] Bald erlangte der Begriff "Direktzugriff" jedoch Gunst, da man einen Datensatz direkt abrufen konnte, unabhängig von seiner Position.[2] Das operative Attribut besteht jedoch darin, dass das Gerät auf jeden erforderlichen Datensatz sofort auf Demand zugreifen kann. Das Gegenteil ist Sequentieller Zugriff, wo ein Remote -Element länger dauert, um zugreifen zu können.[3]

Eine typische Darstellung dieser Unterscheidung ist es, einen Antike zu vergleichen scrollen (Sequentiell; alles Material vor den erforderlichen Daten muss abgerollt werden) und die Buchen (Direkt: Kann sofort für beliebige willkürliche Geschäfte geöffnet werden Seite). Ein moderneres Beispiel ist ein Kassettenband (sequentiell - man muss durch frühere Songs schnell vorwärts kommen, um zu späteren zu gelangen) und a CD (Direktzugriff - man kann zu dem gewünschten Track springen, da man weiß, dass es derjenige sein würde, der abgerufen wird).

Im DatenstrukturenDirekter Zugriff impliziert die Möglichkeit, auf jeden Eintrag in a zugreifen zu können aufführen in ständige Zeit (unabhängig von seiner Position in der Liste und der Größe der Liste). Sehr wenige Datenstrukturen können diese Garantie anders als Arrays (und verwandte Strukturen wie Dynamische Arrays). Direkter Zugang ist in vielen Algorithmen wie zum Beispiel erforderlich oder zumindest wertvoll binäre Suche, Ganzzahlsortierungoder bestimmte Versionen von Sieb von Eratosthenes.[4]

Andere Datenstrukturen, wie z. verlinkte Listen, Opfern Sie den direkten Zugriff auf effiziente Einsätze, Löschung oder Neubestellung von Daten. Selbstausgleichende binäre Suchbäume Kann einen akzeptablen Kompromiss bieten, in dem die Zugangszeit für alle Mitglieder einer Sammlung nicht gleich ist, aber die maximale Zeit zum Abrufen eines bestimmten Mitglieds wächst nur logarithmisch mit seiner Größe.

Verweise

  1. ^ Nationaler Computerkonferenz und Ausstellung (1957). Verfahren. Abgerufen 2. Oktober 2013.
  2. ^ International Business Machines Corporation. Datenverarbeitungsabteilung (1966). Einführung in IBM Direct-Access-Speichergeräte und Organisationsmethoden. International Business Machines Corporation. S. 3–. Abgerufen 2. Oktober 2013.
  3. ^ "Zufälliger und sequentieller Datenzugriff".
  4. ^ D. E. Knuth (1969). Die Kunst der Computerprogrammierung. Vol. 3. Sortieren und Suchen. Addison-Wesley. ISBN 978-0-201-03803-3. Abgerufen 2. Oktober 2013.

Siehe auch