Endi ikki algoritmni bir-biriga solishtirish vaqti keldi.
Taqqoslash jadvali:
| Linear Search | Binary Search | |
|---|---|---|
| Murakkablik | O(n) | O(log n) |
| Tartib sharti | Yo'q | Talab etiladi |
| n=10 | 10 qadam | 4 qadam |
| n=1,000 | 1,000 qadam | 10 qadam |
| n=1,000,000 | 1,000,000 qadam | 20 qadam |
Katta sonlarda bu farq qanchalik katta ekanini grafik ko'rinishda ko'ramiz:
Qachon nimani ishlatish kerak:
Linear Search — list tartiblanmagan bo'lsa:
baholar = [80, 55, 90, 70, 95, 60, 75, 85]
# Tartib yo'q → faqat linear search ishlaydi
for i in range(len(baholar)):
if baholar[i] == 75:
print(f"Topildi: {i}")
breakBinary Search — list tartiblangan va katta bo'lsa:
baholar = [55, 60, 70, 75, 80, 85, 90, 95]
# Tartiblangan → binary search juda tez
# 75 ni qidirish: 8 qadam emas, 3-4 qadamIkki algoritmni bir xil ma'lumotda solishtiring — avval linear, keyin binary:
Xulosa: