Murakkablikni baholash sinflari
O(1) – doimiy vaqt
O(log(n)) – logorifmik vaqt
O(n) – chiziqli vaqt
O(n log(n)) – “n-log-n” vaqt
O(n2) – kvadratik vaqt
O(n3) – kubik vaqt
O(2n) – eksponensial vaqt
Linear Search- bu oddiy qidiruv algoritmi boʻlib, biz ketma-ket massiv yoki roʻyxat boʻylab oʻtamiz va har bir element topilmaguncha yoki massiv oxirigacha maqsadli element bilan solishtiramiz. U har bir elementni navbatma-navbat taqqoslash orqali moslik topilmaguncha yoki butun roʻyxat qidirilmaguncha ishlaydi. U O(n) vaqt murakkabligiga ega, bunda n izlanayotgan massiv yoki roʻyxatning oʻlchami.
Linear Search izlash algoritmining afzalliklari:
To’plamlar qiymatlarini saralash talab qilinmaydi.
Tahlil qilishda qo’shimcha funksiya talab qilinmaydi.
Qoʻshimcha xotira talab qilmaydi.Shuning uchun u istalgan manbadan to’g’ridan-tog’ri ma’lumotlarni qabul qilishda oqim rejimida ishlashi mumkin.
Linear Searchning kamchiliklari:
Boshqa dasturlash tillariga nisbatan solishtirganda samarasiz. Shuning uchun agar toʻplamda oz sonli elementlar boʻlsa foydalanish mumkin.
Binary Search - tartiblangan massiv yoki roʻyxatdagi ma’lum bir elementni topish uchun ishlatiladigan qidiruv algoritmi. U maqsad element topilmaguncha yoki qidiruv oraligʻi bo'sh bo'lgunga qadar qidiruv oraligʻini qayta-qayta ikkiga boʻlish orqali ishlaydi.
Afzalliklari:
1. Vakitni tejash: Binary searching, oʻrtacha va katta sonli roʻyxatlar ustida harakat qilishda chaqaloq va tezroq bo'ladi. Bu yuzdan, barcha elementlar ustida turli xil amallar bajarish uchun kerak boʻlgan vaqt kam bo'ladi.
2. Tezlik: Binary searching, roʻyxatning yarmi boʻyicha amallar bajaradi, shuning uchun odatda linearnyiy qidiruvdan tezroq bo'ladi.
3. O'rnatilgan yoʻriqnoma: Binary searching, elementlarni sonlash tartibida qidirish uchun kerakli boʻlmasa ham ishlaydi. Bu yordam bilan barcha elementlar ustida amallar bajarish mumkin.
Kamchiliklari:
1. Ro'yxatning saralanishi: Binary searching faqat toʻgʻridan-toʻgʻri saralgan ro'yxatlarda ishlaydi.
2. Toifa chegaralari: Binary searching songacha biror toifaga tegishli elementni topolmaydi.
3. Yodga soluvchi xotira kengligi: Binary searching, yodga soluvchi xotira kengligi miqdori sifatida oʻnlik sistemada o'n marta kamayishi mumkin. Bu esa koʻp o'lchamdagi roʻyxatlarda ishlovchi dasturlarning operatsion samarasini pasaytirishi mumkin.
Binary Searchning murakkablik darajasi O(log n) bo'ladi. Bu, kiruvchi ro'yxatni yarim yarim boʻlib tekshirish orqali izlaydi. Har safar, roʻyxatni yarimlab chiqish orqali, qidirilayotgan elementning joyi 2 ta qismini sol va o'ng tomonlarga ajratadi. Shu sababli, kiruvchi roʻyxatni n ta elementga ega bo'lsa, Binary Search O(log n) marta ishlaydi.
Ushbu izlash algoritmlari orqali biz oʻzimizga kerakli boʻlgan malumotni massiv ichidan qaysi indeksda joylashganligini aniqlab beradi.Bu yerda Linear Searchning Binary Searchdan farqi , u tartiblanmagan ma’lumotlar ustida amalga oshiriladi. Binary Searchda esa massiv albatta tartiblangan bo’lishi kerak.
Topshiriq bo’yicha istalgan izlash algoritmlaridan biriga Windows Formsda animatsiya orqali uning ishlash jarayonini chiqarib berish. Ushbu rasmlarda Liner Search izlash algoritmi ishlash jarayonini animatsiya orqali ko’rsatib o’tdim. Umumiy dasturi ilovalar bo’limida joylashgan.
Dostları ilə paylaş: |