Sobes.tech
Junior — Middle

Co zajišťuje rychlý přístup k prvku pole podle jeho pozice, a proč se taková operace považuje za prováděnou v konstantním čase?

sobes.tech AI

Odpověď od AI

Rychlý přístup k prvku pole podle jeho pozice je zajištěn tím, že pole je implementováno jako souvislý blok paměti, kde jsou prvky uspořádány sekvenčně.

To znamená, že pro přístup k prvku s indexem i je třeba pouze vypočítat adresu:

adresa_začátku_pole + i * velikost_prvku

Po výpočtu adresy lze přímo přistoupit k prvku bez nutnosti projít všechny předchozí prvky.

Proto operace přístupu podle indexu probíhá v konstantním čase — O(1), bez ohledu na velikost pole.

Příklad: v Java nebo Kotlin jsou pole navržena tak, že array[i] je přímý přístup do paměti, nikoliv průchod prvky.