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é.