Middle
Mennyi időt vesz igénybe a keresés (például a contains módszerrel) a List és Set gyűjteményekben?
sobes.tech MI
Válasz az MI-től
A List esetében a contains használatával végzett keresés számítási összetettsége O(n), ahol n a lista elemeinek száma. Ez abból adódik, hogy a legrosszabb esetben végig kell nézni az összes elemet a lista elemeinek meglétének meghatározásához.
A Set esetében a contains használatával végzett keresés átlagosan O(1) összetettségű. Ez a belső tároláshoz használt hash-tábla alkalmazásával érhető el. Ideális esetben (jó hash-függvény és kollíziók hiánya) a keresés állandó időt vesz igénybe. A legrosszabb esetben (sok kollízió) a komplexitás megközelítheti az O(n)-t, de ez a gyakorlatban ritka.