Nazariya
math
Ko‘p masalada sikl o‘rniga formula bor.
Nazariya
Ko‘p masalada sikl o‘rniga formula bor.
Nazariya
Shart dastur qaysi yo‘ldan borishini hal qiladi.
Nazariya
Sikl bir ishni ko‘p marta bajaradi.
Nazariya
Satr — belgilar ketma-ketligi. Python’da satr o‘zgarmas: yangi satr yasaladi.
Nazariya
Har bir masala kirish ma’lumotlarini o‘qiydi va javobni chiqaradi. Tekshiruvchi faqat chiqishni
Nazariya
Ba’zi masalalarda maxsus algoritm kerak emas — shartni aniq va ehtiyotkorlik bilan bajarish kerak.
Nazariya
Massiv (Python’da ro‘yxat) — bir xil turdagi qiymatlar ketma-ketligi, indeks 0 dan boshlanadi.
Nazariya
Hash-jadval «bu element bormi?» savoliga o‘rtacha O(1) vaqtda javob beradi.
Nazariya
Saralash ko‘p masalani soddalashtiradi: tenglar yonma-yon, eng kichiklar boshida.
Nazariya
Ikki ko‘rsatkich — ro‘yxat bo‘ylab ikki indeksni bir vaqtda yuritish. Ko‘pincha O(n²) ni O(n) ga tushiradi.
Nazariya
Ikkilik qidiruv saralangan ro‘yxatda qidiruv oralig‘ini har qadamda ikki baravar qisqartiradi: log₂(10⁹) ≈ 30…
Nazariya
Dinamik dasturlash (DP): katta masalaning javobini kichik masalalar javobidan yig‘ish va har birini
Nazariya
Graf — uchlar va ularni bog‘lovchi qirralar (shaharlar va yo‘llar, labirint kataklari).
Nazariya
Sonlar ikkilik ko‘rinishda saqlanadi; bit amallari juda tez.
Nazariya
Nechta usulda tanlash yoki joylashtirish mumkinligini sanash.
Nazariya
To‘g‘ri tuzilma algoritmni tezlashtiradi.
Nazariya
Ochko‘z (greedy) algoritm har qadamda hozir eng yaxshi ko‘ringan tanlovni qiladi va ortga qaytmaydi.
Nazariya
Prefiks yig‘indi: p[i] = a[0] + ... + a[i-1]. Shunda [l, r] oraliq yig‘indisi bir amalda:
Nazariya
def cross(o, a, b):
Nazariya
divs = []
Nazariya
oxirgi tanlovni bekor qilib, boshqasini sinaymiz. Bu aqlli to‘liq perebor.
Nazariya
bo‘lganlar, keyin 2… Shuning uchun qirralar vazni bir xil bo‘lsa, eng qisqa yo‘lni beradi. O(V + E).
Nazariya
agar n kichik bo‘lsa (masalan, 10–20 gacha), ko‘pincha shuning o‘zi yetadi.
Nazariya
Algoritm qancha vaqt va xotira olishini kirish hajmi n orqali baholaymiz. Bu O-belgisi
Nazariya
import sys
Nazariya
yechamiz, so‘ng natijalarni birlashtiramiz.
Nazariya
Python’da heapq (min-heap).
Nazariya
lekin i-elementga borish O(n).
Nazariya
ro‘yxatdan pop(0) O(n), deque.popleft() esa O(1).
Nazariya
def factorial(n):
Nazariya
oraliq bo‘yicha so‘rov (yig‘indi, minimum, maksimum). Prefiks yig‘indi faqat o‘zgarmas massivda ishlaydi;
Nazariya
Vaznli grafda eng qisqa yo‘l. Qaysi algoritm — qirralarga bog‘liq:
Nazariya
uni o‘ngga suramiz. Har element oynaga bir marta kiradi va bir marta chiqadi — jami O(n).
Nazariya
pop — olish, st[-1] — tepadagi element. Hammasi O(1).
Nazariya
tanlasak, har uchning ota-onasi va bolalari bo‘ladi.
Nazariya
so‘rovlariga deyarli O(1) da javob beradi.
Nazariya
GROUP BY qatorlarni bir xil qiymat bo‘yicha guruhlarga bo‘ladi; agregat funksiya har guruh uchun hisoblanadi.
Nazariya
JOIN ikki jadval qatorlarini umumiy ustun bo‘yicha birlashtiradi. INNER JOIN (yoki shunchaki JOIN)
Nazariya
WHERE faqat shartga mos qatorlarni qoldiradi.
Nazariya
Agregat funksiyalar ko‘p qatorni bitta qiymatga aylantiradi.
Nazariya
SQLite’da sanalar matn sifatida saqlanadi: '2026-10-01' yoki '2026-10-01 14:30:00'.
Nazariya
ORDER BY natijani saralaydi: ASC — o‘sish (standart), DESC — kamayish.
Nazariya
SELECT jadvaldan kerakli ustunlarni oladi.
Nazariya
SELECT name, salary FROM employees
Nazariya
LEFT JOIN chap jadvalning barcha qatorlarini qoldiradi; o‘ngda mosi bo‘lmasa, o‘ng ustunlar NULL bo‘ladi.
Nazariya
SELECT name, department_id, salary,
Nazariya
CASE — SQL ichidagi if/elif/else. Yangi hisoblangan ustun yasash uchun.
Nazariya
DISTINCT takrorlangan qatorlarni olib tashlaydi.
Nazariya
HAVING — guruhlar uchun WHERE. U GROUP BY dan keyin ishlaydi va agregatlar bilan shart qo‘yadi.
Nazariya
LIKE satrni andoza bo‘yicha qidiradi: % — istalgan uzunlikdagi belgilar, _ — bitta belgi.
Nazariya
LIMIT natijadan faqat dastlabki n qatorni qoldiradi. Deyarli doim ORDER BY bilan birga ishlatiladi.
Nazariya
NULL — «qiymat yo‘q». U hech narsaga teng emas, hatto o‘ziga ham.
Nazariya
Satrlar bilan ishlash (SQLite):
Nazariya
SQL so‘rovi qaysi ma’lumot kerakligini aytadi, qanday topishni emas.