Výber správnej dátovej štruktúry môže premeniť pomalé riešenie na čisté a efektívne. V tomto kvíze budete spájať skutočné programovacie scenáre s najlepšou štruktúrou—polia, zoznamy, zásobníky, fronty...
Vyberte si obtiažnosť a počet otázok pre začiatok.
Výber dátovej štruktúry je často o kompromisoch: rýchlosť vs pamäť, jednoduchosť vs flexibilita a priemerný výkon vs najhorší výkon. Tento kvíz vás trénuje rozpoznať vzory v zadaniach problémov a priradiť ich k štruktúre, ktorá najlepšie vyhovuje.
Každá otázka je s výberom z viacerých možností s 4 možnosťami a bez časového limitu, takže môžete premýšľať o obmedzeniach, ako sú frekvencia vyhľadávania, vzory vkladaní, potreby usporiadania a obavy z konkurencie.
Obtiažnosť je zámerne zmiešaná: uvidíte rýchle víťazstvá (napr. „potrebujete LIFO“) vedľa nuansovaných prípadov (napr. „potrebujete rýchle kontroly členstva plus usporiadanie“). Môžete si tiež pred začiatkom vybrať preferovaný počet otázok a obtiažnosť, čo uľahčuje krátke zahriatie alebo plnú hlbokú prax.
Mnohé nesprávne odpovede prichádzajú z nadmerného zamerania sa na jednu operáciu (ako rýchle vyhľadávanie) pri ignorovaní iných (ako časté vklady, mazania alebo dotazy na rozsah). Ďalšou bežnou pascou je výber štruktúry, ktorú dobre poznáte, namiesto tej, ktorá zodpovedá obmedzeniam.
Po každej otázke sa spýtajte sami seba, ktoré operácie musia byť rýchle a ktoré môžu byť pomalšie, potom overte svoj výber voči okrajovým prípadom. Ak zmeškáte otázku, prepíšte scenár vo vzťahu k operáciám (vyhľadávanie, vkladanie, mazanie, min/max, prechod) a skúste to znova s iným nastavením obtiažnosti.
Ktorá dátová štruktúra je najlepšia na implementáciu systému LIFO (Last In First Out)?
Aká dátová štruktúra je optimálna pre rýchle vyhľadávanie a uchovávanie unikátnych položiek?
Ktorá dátová štruktúra sa typicky používa na reprezentáciu hierarchických dát?
Tento kvíz má 125 otázok zameraných na výber najlepšej dátovej štruktúry pre daný scenár.
Každá otázka má 4 možnosti a nie je tu časový limit, takže môžete premýšľať o kompromisoch.
Obtiažnosť je zmiešaná, takže dostanete ako základy, tak aj nuansované otázky o výkone a dizajnových kompromisoch.
Áno. Pred začatím si môžete vybrať preferovaný počet otázok a obtiažnosť, aby ste zodpovedali svojmu cieľu praxe.
Očakávajte polia, prepojené zoznamy, zásobníky, fronty, hash mapy/súbory, haldy, stromy a grafy so scenárovými podnetmi.

Posilnite svoje porozumenie prechádzkam stromov a vlastnostiam haldy pomocou zameranej sady otázok o dátových štruktúrach. Prejdete si poradia prechádzok, invariants haldy a typické okrajové prípady, ktoré sa nachádzajú v pohovoroch a na cvičeniach. Vyberte si preferovaný počet otázok a obtiažnosť, a potom sa učte z každého vysvetlenia, ako postupujete.
Otestujte si svoju intuíciu pre Big-O časovú zložitost' pri základných operáciách, ktoré používate každý deň. Porovnáte bežné dátové štruktúry a zistíte, ktoré operácie sú konštantné, logaritmické, lineárne alebo horšie. Vyberte počet otázok a úroveň obtiažnosti, aby ste sa prispôsobili svojmu študijnému cieľu, a potom sa učte z rýchlych, zameraných vysvetlení.