Užduočių lapas tema Algoritmai ir sudėtingumas su atsakymais
Nemokamas spausdinamas užduočių lapas tema Algoritmai ir sudėtingumas: 8 uždavinių nuo lengvų iki egzamino lygio, su atsakymais. Atsispausdinkite arba išsaugokite kaip PDF.
Mokytojams: galima nemokamai spausdinti, kopijuoti ir naudoti per pamokas. Kiekvienas naujas lapas turi naujas reikšmes ir savo atsakymų raktą. Būsime dėkingi už nuorodą į ExamProblems jūsų kurso puslapyje.
Vardas: ____________________ Data: ____________
1.Lengvas
Ko dvejetainė paieška reikalauja iš savo įvesties?
AMasyve turi būti ne daugiau kaip 1000 elementų
BMasyve turi būti tik teigiami skaičiai
CMasyvas turi būti surikiuotas
DMasyvo ilgis turi būti dvejeto laipsnis
2.Lengvas
Kas yra perrinkimo (brute force) algoritmas?
AAlgoritmas, kuris visada naudoja rekursiją
BAlgoritmas, atsitiktinai spėjantis atsakymą
CAlgoritmas, išbandantis visus galimus kandidatinius sprendinius
DAlgoritmas, veikiantis daugelyje procesorių
3.Lengvas
Kas yra memoizacija?
AAtminties atlaisvinimas funkcijai grįžus
BAutomatinis rekursijos pavertimas ekvivalenčiu ciklu, kad nebereikėtų kvietimų steko
CFunkcijų kvietimų rezultatų saugojimas, kad į pakartotinius kvietimus būtų atsakoma iš atminties
DKomentarų rašymas prie kiekvienos kodo eilutės
4.Vidutinis
Kuris rikiavimo algoritmas yra stabilus?
ARikiavimas krūva
BGreitasis rikiavimas (įprasta versija vietoje)
CRikiavimas išrinkimu (įprasta versija)
DRikiavimas suliejimu
5.Vidutinis
Ką reiškia, kad uždavinys turi optimalią struktūrą (optimal substructure)?
AVisi daliniai uždaviniai yra vienodo dydžio
BUždavinį galima išspręsti per pastovų laiką
COptimalų sprendinį galima sudaryti iš optimalių jo dalinių uždavinių sprendinių
DUždavinys turi lygiai vieną optimalų sprendinį, kurį bendrai turi visi dalinių uždavinių sprendiniai
6.Vidutinis
Ką apskaičiuoja Floydo–Warshallo algoritmas ir kaip greitai?
AMinimalų jungiamąjį medį per O(E log V)
BTrumpiausius kelius tarp visų viršūnių porų per O(V³)
CTopologinę tvarką per O(V²)
DTrumpiausius kelius iš vienos šaltinio viršūnės į visas kitas per O(V + E)
7.Sunkus
Koks yra šio kodo laiko sudėtingumas: for i = 1 to n: for (j = i; j ≤ n; j = j + i) atlikti O(1) darbą?
AO(n²)
BO(n log n)
CO(n)
DO(n √n)
8.Sunkus
Koks yra dvejetainės krūvos sudarymo iš n nesurikiuotų elementų metodu „iš apačios į viršų“ (bottom-up) laiko sudėtingumas?
AO(log n)
BO(n)
CO(n²)
DO(n log n)
Atsakymai
1. C · Masyvas turi būti surikiuotas
2. C · Algoritmas, išbandantis visus galimus kandidatinius sprendinius
3. C · Funkcijų kvietimų rezultatų saugojimas, kad į pakartotinius kvietimus būtų atsakoma iš atminties
4. D · Rikiavimas suliejimu
5. C · Optimalų sprendinį galima sudaryti iš optimalių jo dalinių uždavinių sprendinių
6. B · Trumpiausius kelius tarp visų viršūnių porų per O(V³)
7. B · O(n log n)
8. B · O(n)
Išsamūs sprendimai žingsnis po žingsnio: praktikuokite šią temą svetainėje examproblems.com.