Sobes.tech
Middle

Ako dlho trvá vyhľadávanie (napríklad pomocou metódy contains) v kolekciách List a Set?

sobes.tech AI

Odpoveď od AI

Pre List, vyhľadávanie pomocou contains má výpočtovú zložitosť O(n), kde n je počet prvkov v zozname. To je spôsobené tým, že v najhoršom prípade je potrebné prejsť všetky prvky zoznamu, aby sa určil výskyt hľadaného prvku.

Pre Set má vyhľadávanie pomocou contains priemernú výpočtovú zložitosť O(1). To sa dosahuje použitím hash tabuľky na vnútorné uloženie prvkov. V ideálnom prípade (dobrá hash funkcia a žiadne kolízie) vyhľadávanie trvá konštantný čas. V najhoršom prípade (veľa kolízií) sa zložitosť môže priblížiť k O(n), ale to je v praxi zriedkavé.