Asosiy qismga o‘tish

Algoritmlar va ma’lumot tuzilmalari

Ishlaydigan koddan ulguradigan kodgacha

Ikkinchi kurs: Python asoslarini bilgan o‘quvchi uchun. Bu yerda javobning to‘g‘riligi yetarli emas — dastur berilgan vaqtga ulgurishi kerak.

Ketma-ketlik olimpiada tayyorgarligidagi odatiy zinapoya: murakkablikni baholash, to‘g‘ri ma’lumot tuzilmasini tanlash, saralash va ikkilik qidiruv, ikki ko‘rsatkich, prefiks yig‘indi, rekursiya, ochko‘z usul, dinamik dasturlash va graflar.

Masalalar ketma-ketligi Har mavzu bo‘yicha beshtadan masala — birinchisidan boshlab, tartib bilan. Keyingi masala oldingisi yechilgach ochiladi.
0 / 50 masala
Boshlash

Darslar

№ Mavzu Test Holat
1 Algoritm murakkabligi
Nega bir dastur ulguradi, boshqasi yo‘q. O-belgilash.
10 ta savol —
2 Qidiruv va ma’lumot tuzilmasini tanlash
Chiziqli qidiruv, to‘plam va lug‘atning tezlikka ta’siri.
10 ta savol —
3 Saralash
Sodda usullar, sorted() va key bilan tartiblash.
10 ta savol —
4 Ikkilik qidiruv
Saralangan massivda log n qadamda topish va javob bo‘yicha qidiruv.
10 ta savol —
5 Ikki ko‘rsatkich va sirpanuvchi oyna
Ichma-ich sikl o‘rniga ikkita indeks bilan bir o‘tish.
10 ta savol —
6 Prefiks yig‘indi
Oldindan hisoblab qo‘yish: har so‘rovga bitta ayirish.
10 ta savol —
7 Rekursiya
Funksiyaning o‘zini chaqirishi, baza va chuqurlik.
10 ta savol —
8 Ochko‘z algoritmlar
Har qadamda eng foydali tanlov — va u qachon ishlaydi.
10 ta savol —
9 Dinamik dasturlash
Kichik masalalarni bir marta yechib, javobni yig‘ish.
10 ta savol —
10 Graflar: BFS va DFS
Tasvirlash, aylanish va eng qisqa yo‘l.
10 ta savol —