Přímý přístup

Porovnání přímého a sekvenčního přístupu.
Tento článek je o výběru prvku datové struktury, části souboru nebo paměti. O přístupu do paměti bez účasti procesoru pojednává článek DMA.

Přímý přístup, libovolný přístup, náhodný přístup (anglicky random access nebo direct access) v informatice je možnost přistupovat k jednotlivým prvkům složené datové struktury, části souboru nebo oblasti paměti v libovolném pořadí podle potřeb zpracování, nikoli podle uložení datové struktury na fyzickém nosiči. Opakem je sekvenční přístup, kdy lze k jednotlivým prvkům přistupovat pouze v tom pořadí, v jakém jsou uloženy na fyzickém nosiči, a přístup k vzdálenému prvku vyžaduje delší čas[1].

Základním vodítkem pro uznání přístupové metody za přímý přístup je, že přístup k prvku musí být stejně snadný a efektivní bez ohledu na jeho umístění, velikost datové struktury a počet souřadnic, které jsou použity pro popis umístění prvku ve struktuře.

Pozice prvku může být například popsána pomocí pořadí v jednoduché posloupnosti, jako je řádek, ve dvourozměrné struktuře, jako jsou řádky a sloupce v rovině, nebo pomocí vícerozměrných souřadnic. Ale po uvedení všech souřadnic, může program přistupovat ke každém záznamu přibližně stejně rychle a snadno jako k libovolnému jinému, a to v čase, který vyhovuje uživateli. V tomto smyslu je volba položky libovolná v tom smyslu, že bez ohledu na to, kterou položku požadujeme, pro její nalezení stačí mít její adresu, neboli souřadnice, na nichž je umístěna, jako například řádek a sloupec (nebo číslo stopy a číslo záznamu na magnetickém bubnu). Termín „náhodný přístup“ byl poprvé použit, když se požadovalo, aby proces našel požadovaný záznam bez ohledu na to, ve kterém místě posloupnosti se nachází[1].

Ale brzy se začal používat termín „přímý přístup“, protože je možné přímo získat záznam bez ohledu na jeho umístění[2]. Funkčním požadavkem je, aby zařízení bylo schopné přistupovat k požadovanému záznamu přímo podle požadavku.

Praktickou ukázkou tohoto rozdílu je porovnání času potřebného pro nalezení místa v textu; pokud je text uložen na svitku, jedná se o sekvenční přístup: celý kus svitku před požadovaným místem musí být převinut; pokud je text v knize, jedná se o přímý přístup, protože knihu lze otevřít na libovolném místě (jedná se o případ použití záložky; pro nalezení požadované stránky je třeba listovat). Novějším příklad sekvenčního přístupu je magnetofonová kazeta (pokud chceme přehrát skladbu uprostřed, je nutné přetočením pásku přeskočit skladby na začátku) oproti CD (přímý přístup – lze přeskočit přímo na požadovanou skladbu, pokud známe její číslo).

V případě datových struktur znamená přímý přístup možnost získat položku struktury v konstantním čase, nezávislém na pozici ve struktuře a velikosti struktury, tj. v čase O(1). To umožňuje jen málo datových struktur, především pole (a příbuzné struktury jako dynamická pole). Přímý přístup je požadovaný nebo oceňovaný v mnoha algoritmech jako například binární vyhledávání, celočíselné třídění nebo v určitých variantách Eratosthenova síta[3].

Jiné datové struktury jako spojové seznamy přímý přístup neumožňují, ale naopak dovolují efektivní vkládání, rušení nebo přeskupování dat. Samovyvažující se stromy mohou být přijatelným kompromisem, kdy přístupový čas je stejný pro libovolný prvek kolekce, a roste logaritmicky s její velikostí.

Reference

V tomto článku byl použit překlad textu z článku Random access na anglické Wikipedii.

  1. National Computer Conference and Exposition. Proceedings. [s.l.]: [s.n.], 1957. Dostupné online. 
  2. International Business Machines Corporation. Data Processing Division. Introduction to IBM Direct-access Storage Devices and Organization Methods. [s.l.]: International Business Machines Corporation, 1966. Dostupné online. 
  3. D. E. KNUTH. The Art of Computer Programming. Svazek 3. [s.l.]: Addison-Wesley, 1969. Dostupné online. ISBN 978-0-201-03803-3. 

Související články


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Přímý_přístup
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.