Sobes.tech
Junior — Middle

Čo zabezpečuje rýchly prístup k prvku po jeho pozícii v poli a prečo sa takáto operácia považuje za vykonávanú v konštantnom čase?

sobes.tech AI

Odpoveď od AI

Rýchly prístup k prvku poľa podľa jeho pozície je zabezpečený tým, že pole je implementované ako súvislý blok pamäte, kde sú prvky usporiadané sekvenčne.

To znamená, že na prístup k prvku s indexom i je potrebné iba vypočítať adresu:

adresa_začiatku_poľa + i * veľkosť_prvku

Po výpočte adresy je možné priamo pristúpiť k prvku bez nutnosti prechádzať všetky predchádzajúce prvky.

Preto operácia prístupu podľa indexu prebieha v konštantnom čase — O(1), bez ohľadu na veľkosť poľa.

Príklad: v Jave alebo Kotline sú polia navrhnuté tak, že array[i] je priame prístup do pamäte, nie prechádzanie prvkami.