Binary Search qachon ishlatilishi kerak?
Binary Search – samarali qidiruv algoritmi bo‘lib, massiv yoki ro‘yxatdan ma’lumotlarni topishda ishlatiladi. Ushbu algoritm O(log n) vaqt murakkabligiga ega va bu uni tezkor qiladi. Ammo Binary Searchni ishlatishdan oldin quyidagi shartlarni tekshirish lozim:
1. Ma'lumotlar tartiblangan bo‘lishi kerak.
*Binary Search faqat o‘suvchi yoki kamayuvchi tartibda joylashtirilgan ma'lumotlar ustida ishlaydi. Agar massiv yoki ro‘yxat tartibsiz bo‘lsa, avval uni saralash zarur.
Masalan:
2. Qidiruvni samarali qilish kerak bo‘lganda
*Oddiy qidiruv algoritmlari (masalan, Linear Search) O(n) vaqt oladi, bu katta hajmdagi ma'lumotlar uchun sekin ishlaydi. Binary Search esa massivni har safar yarmiga ajratib, qidiruvni ancha tezlashtiradi.
Qachon kerak bo‘ladi?
*Juda katta hajmdagi ma’lumotlar bo‘lganda.
*Qidiruvni imkon qadar tez tugatish kerak bo‘lganda.
3. To‘g‘ri indekslashni talab qiluvchi holatlar
*Binary Search massiv yoki ro‘yxat elementlariga indeks orqali kirishni talab qiladi. Bu qidiruv ma’lumotlar tuzilmasida Random Access (tasodifiy kirish) imkoniyati mavjud bo‘lganda ishlaydi.
Masalan:
Binary Search qayerda ishlatiladi?
1. Numerik ma’lumotlar bilan ishlash: Masalan, o‘zgaruvchilarni o‘zaro solishtirish.
2. Katta hajmdagi ro‘yxatlarda qidiruv: Masalan, telefon raqamlar yoki boshqa turdagi ma’lumotlarni.
3. Ilovalar va xizmatlar.
*Shuningdek Binary Search intervyularda tez-tez so‘raladigan mashhur algoritmdir. Uni chuqur tushunish muhim
Xulosa.
Binary Search juda samarali va tezkor, lekin uni ishlatishdan oldin:
1. Massiv tartiblangan bo‘lishi kerak.
2. Tasodifiy kirish imkoniyati bo‘lishi shart.
3. Muammo uchun haqiqatan ham samaradorlik kerak bo‘lsa, foydalaning.
@JavaScriptQuiiz
Binary Search – samarali qidiruv algoritmi bo‘lib, massiv yoki ro‘yxatdan ma’lumotlarni topishda ishlatiladi. Ushbu algoritm O(log n) vaqt murakkabligiga ega va bu uni tezkor qiladi. Ammo Binary Searchni ishlatishdan oldin quyidagi shartlarni tekshirish lozim:
1. Ma'lumotlar tartiblangan bo‘lishi kerak.
*Binary Search faqat o‘suvchi yoki kamayuvchi tartibda joylashtirilgan ma'lumotlar ustida ishlaydi. Agar massiv yoki ro‘yxat tartibsiz bo‘lsa, avval uni saralash zarur.
Masalan:
[2, 4, 6, 8, 10, 12] – To‘g‘ri
[8, 3, 10, 1, 6] – Noto‘g‘ri (saralash talab qilinadi)
2. Qidiruvni samarali qilish kerak bo‘lganda
*Oddiy qidiruv algoritmlari (masalan, Linear Search) O(n) vaqt oladi, bu katta hajmdagi ma'lumotlar uchun sekin ishlaydi. Binary Search esa massivni har safar yarmiga ajratib, qidiruvni ancha tezlashtiradi.
Qachon kerak bo‘ladi?
*Juda katta hajmdagi ma’lumotlar bo‘lganda.
*Qidiruvni imkon qadar tez tugatish kerak bo‘lganda.
3. To‘g‘ri indekslashni talab qiluvchi holatlar
*Binary Search massiv yoki ro‘yxat elementlariga indeks orqali kirishni talab qiladi. Bu qidiruv ma’lumotlar tuzilmasida Random Access (tasodifiy kirish) imkoniyati mavjud bo‘lganda ishlaydi.
Masalan:
Array: To‘g‘ri
Linked List: Noto‘g‘ri (Tasodifiy kirish imkoni yo‘q)
Binary Search qayerda ishlatiladi?
1. Numerik ma’lumotlar bilan ishlash: Masalan, o‘zgaruvchilarni o‘zaro solishtirish.
2. Katta hajmdagi ro‘yxatlarda qidiruv: Masalan, telefon raqamlar yoki boshqa turdagi ma’lumotlarni.
3. Ilovalar va xizmatlar.
*Shuningdek Binary Search intervyularda tez-tez so‘raladigan mashhur algoritmdir. Uni chuqur tushunish muhim
Xulosa.
Binary Search juda samarali va tezkor, lekin uni ishlatishdan oldin:
1. Massiv tartiblangan bo‘lishi kerak.
2. Tasodifiy kirish imkoniyati bo‘lishi shart.
3. Muammo uchun haqiqatan ham samaradorlik kerak bo‘lsa, foydalaning.
Binary Searchni to‘g‘ri ishlatish orqali ko‘plab qidiruv muammolarini samarali hal qilishingiz mumkin!
@JavaScriptQuiiz
👍12👏2
N ta sonning faktorialini toping❗
⚡ Maslahatlar:
🌐Agar savol qiyinlik qilsa, internetdan izlab ko'ring, qanday ishlashini tushunib oling va o'zingiz qayta ishlab ko'ring!
🔄 Iterativ va rekursiv yo'llarda ishlab ko'ring va javoblaringizni commentlarda muhokama qiling!
💬 Muhokama qiling! Bu juda muhim!
@JavaScriptQuiiz
🛑Misol:
Input: N = 5
Output: 120
Tarif: 5! = 5 * 4 * 3 * 2 * 1
Input: N = 3
Output: 6
Tarif: 3! = 3 * 2 * 1⚡ Maslahatlar:
🌐Agar savol qiyinlik qilsa, internetdan izlab ko'ring, qanday ishlashini tushunib oling va o'zingiz qayta ishlab ko'ring!
🔄 Iterativ va rekursiv yo'llarda ishlab ko'ring va javoblaringizni commentlarda muhokama qiling!
💬 Muhokama qiling! Bu juda muhim!
🔥5👍1
JavaScript || DSA
N ta sonning faktorialini toping❗ 🛑Misol: Input: N = 5 Output: 120 Tarif: 5! = 5 * 4 * 3 * 2 * 1 Input: N = 3 Output: 6 Tarif: 3! = 3 * 2 * 1 ⚡ Maslahatlar: 🌐Agar savol qiyinlik qilsa, internetdan izlab ko'ring, qanday ishlashini tushunib oling va o'zingiz…
Obunachilarni talab va istaklariga binoan, masalalar darajasi osonlashdi.
👍6
Sonni teskarisiga o'giring❗️
⚡️ Maslahatlar:
🌐Agar savol qiyinlik qilsa, internetdan izlab ko'ring, qanday ishlashini tushunib oling va o'zingiz qayta ishlab ko'ring!
💬 Muhokama qiling! Bu juda muhim!
@JavaScriptQuiiz
🛑Misol:
input: N = 123
output: 321
Tarif: 123 ning teskarisi 321.
Input: N = 234
output: 432.
Input: N = -123
Output: -321.
⚡️ Maslahatlar:
🌐Agar savol qiyinlik qilsa, internetdan izlab ko'ring, qanday ishlashini tushunib oling va o'zingiz qayta ishlab ko'ring!
💬 Muhokama qiling! Bu juda muhim!
@JavaScriptQuiiz
👍8
Linear Searchni qachon ishlatish kerak?
🔍Linear Search – eng oddiy va asosiy qidiruv algoritmlaridan biri bo‘lib, massiv yoki ro‘yxatdagi har bir elementni ketma-ket tekshirish orqali ma’lum bir qiymatni qidiradi. Bu algoritm O(N) vaqt murakkabligiga ega bo‘lib, kichik hajmdagi yoki tartiblanmagan ma’lumotlar bilan ishlash uchun qulaydir.
✅ Lekin har bir algoritm ma’lum bir vaziyatlarda samarali bo‘ladi. Quyida Linear Searchni qachon ishlatish kerakligini ko‘rib chiqamiz:
🧑💻 1. Ma’lumotlar tartibsiz bo‘lganda
*Agar massiv yoki ro‘yxat tartiblanmagan bo‘lsa va uni tartibga keltirish imkoniyati yoki zarurati bo‘lmasa, Linear Search eng oddiy va to‘g‘ri tanlov bo‘ladi.
📊 2. Ma’lumot hajmi kichik bo‘lganda
*Kichik hajmdagi massivlar uchun Linear Searchning O(N) murakkabligi muammo tug‘dirmaydi. Bu oddiy va tezkor algoritm bo‘lgani uchun uni qo‘llash oson.
📂 3. Ma’lumotlar strukturasida tasodifiy kirish yo‘q bo‘lganda
*Masalan, Linked List kabi ma’lumotlar tuzilmalari tasodifiy kirishni (random access) qo‘llab-quvvatlamaydi. Bunday hollarda Linear Search yagona samarali usul bo‘lishi mumkin.
📝4. Qidirilayotgan elementning o‘rnini oldindan bilish qiyin bo‘lsa
*Agar siz izlayotgan element massivning biror joyida tartibsiz ravishda joylashgan bo‘lsa va boshqa usullardan foydalanib uning joylashuvini aniqlashning imkoni bo‘lmasa, Linear Searchdan foydalanish oson.
⌨️5. Saralash talab qilinmasa
*Saralash algoritmlari (masalan, Bubble Sort, Quick Sort) vaqt va resurs talab qiladi. Agar massivni saralashdan ko‘ra tezkor qidiruv zarur bo‘lsa, Linear Search eng yaxshi tanlovdir.
🚫Linear Searchni qachon ishlatmaslik kerak?
1-Agar massiv katta bo‘lsa va tartiblangan bo‘lsa, Binary Search samaraliroq.
2-Real vaqt rejimida tezkor qidiruv talab qilinsa, hash-based strukturalar (HashMap) ishlatiladi.
🌟 Xulosa Linear Search:
*Kichik hajmdagi va tartiblanmagan ma’lumotlar uchun eng oddiy va samarali.
*Qo‘llanishi oson va dasturchidan katta bilim talab qilmaydi.
*Lekin katta ma’lumotlar yoki tartiblangan massivlarda samaradorlikni oshirish uchun boshqa algoritmlar ko‘rib chiqilishi kerak.
@JavaScriptQuiiz
🔍Linear Search – eng oddiy va asosiy qidiruv algoritmlaridan biri bo‘lib, massiv yoki ro‘yxatdagi har bir elementni ketma-ket tekshirish orqali ma’lum bir qiymatni qidiradi. Bu algoritm O(N) vaqt murakkabligiga ega bo‘lib, kichik hajmdagi yoki tartiblanmagan ma’lumotlar bilan ishlash uchun qulaydir.
✅ Lekin har bir algoritm ma’lum bir vaziyatlarda samarali bo‘ladi. Quyida Linear Searchni qachon ishlatish kerakligini ko‘rib chiqamiz:
🧑💻 1. Ma’lumotlar tartibsiz bo‘lganda
*Agar massiv yoki ro‘yxat tartiblanmagan bo‘lsa va uni tartibga keltirish imkoniyati yoki zarurati bo‘lmasa, Linear Search eng oddiy va to‘g‘ri tanlov bo‘ladi.
Masalan:
arr = [5, 2, 9, 1, 7] kabi massivda ma’lumotni tezda topish uchun Linear Search ishlatish mumkin.
📊 2. Ma’lumot hajmi kichik bo‘lganda
*Kichik hajmdagi massivlar uchun Linear Searchning O(N) murakkabligi muammo tug‘dirmaydi. Bu oddiy va tezkor algoritm bo‘lgani uchun uni qo‘llash oson.
Masalan:
arr = [10, 20, 30, 40] kabi 10-20 ta elementdan iborat massivlarda qidiruvni Linear Search orqali amalga oshirsa bo‘ladi.
📂 3. Ma’lumotlar strukturasida tasodifiy kirish yo‘q bo‘lganda
*Masalan, Linked List kabi ma’lumotlar tuzilmalari tasodifiy kirishni (random access) qo‘llab-quvvatlamaydi. Bunday hollarda Linear Search yagona samarali usul bo‘lishi mumkin.
Masalan:
Linked List = [3 -> 7 -> 8 -> 12]
📝4. Qidirilayotgan elementning o‘rnini oldindan bilish qiyin bo‘lsa
*Agar siz izlayotgan element massivning biror joyida tartibsiz ravishda joylashgan bo‘lsa va boshqa usullardan foydalanib uning joylashuvini aniqlashning imkoni bo‘lmasa, Linear Searchdan foydalanish oson.
⌨️5. Saralash talab qilinmasa
*Saralash algoritmlari (masalan, Bubble Sort, Quick Sort) vaqt va resurs talab qiladi. Agar massivni saralashdan ko‘ra tezkor qidiruv zarur bo‘lsa, Linear Search eng yaxshi tanlovdir.
🚫Linear Searchni qachon ishlatmaslik kerak?
1-Agar massiv katta bo‘lsa va tartiblangan bo‘lsa, Binary Search samaraliroq.
2-Real vaqt rejimida tezkor qidiruv talab qilinsa, hash-based strukturalar (HashMap) ishlatiladi.
🌟 Xulosa Linear Search:
*Kichik hajmdagi va tartiblanmagan ma’lumotlar uchun eng oddiy va samarali.
*Qo‘llanishi oson va dasturchidan katta bilim talab qilmaydi.
*Lekin katta ma’lumotlar yoki tartiblangan massivlarda samaradorlikni oshirish uchun boshqa algoritmlar ko‘rib chiqilishi kerak.
🎯Linear Search – oddiy muammolar uchun mukammal yechim!
@JavaScriptQuiiz
👍13🔥4👏1
Ikkinchi eng katta VA eng kichik elementni toping.Agar ikkala element ham mavjud bo'lmasa -1 return qiling.
Agar savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!
Commentariyada boshqalar bilan muhokama qiling, juda muhim
@JavaScriptQuiiz
input: [1,2,4,7,7,5]
output: Ikkinchi eng katta element: 5
Ikkinchi eng kichik element: 2
Input: [1]
output: Ikkinchi eng katta element: -1
Ikkinchi eng kichik element: -1
Tarif: array bitta elementdan tashkil topgani uchun, u eng katta va eng kichik elemment bo'la oladi, shuning uchun bizda ikkinchi eng katta va eng kichik element mavjud emas.
So'raladi: Time Complexity: O(n)
Space complexity: O(1)
Agar savol qiyinlik qilsa, internetdan izlab ko'rib javobini ko'rib, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!
Commentariyada boshqalar bilan muhokama qiling, juda muhim
@JavaScriptQuiiz
👍5
IT sohasidagi karyera haqida hamma narsa: Jizzaxda IT Roadshow doirasida uchrashuv bo‘lib o‘tadi
IT Community Roadshow doirasida mamlakatning yetakchi IT-kompaniyalari ekspertlari yosh mutaxassislarga IT olamida birinchi qadamlarni qo‘yishda yordam beradilar.
Tadbir 26-yanvar kuni soat 11:00 dan 17:00 gacha Jizzax Cyber Arenada (Zargarlik MFY, Sharof Rashidov ko‘chasi, 88A) bo‘lib o‘tadi. Roadshowda mamlakatimizning yetakchi kompaniyalari IT-ekspertlari so‘zga chiqib, quyidagilar haqida ma’lumot berishadi
● IT sohasida karyera qurish
● Professional brend yaratish
● Startaplarni ishga tushirish.
Shuningdek, netvorking-sessiyalar davomida talabalar va o‘quvchilar foydali tanishlar orttirishlari va boshlovchi mutaxassislar uchun aktual masalalarni muhokama qilishlari mumkin bo‘ladi.
Ishtirok etish bepul! Ro‘yxatdan o‘tish uchun Telegram-botga o‘tish kifoya: https://t.iss.one/itcomuzbot.
Roadshow IT Community of Uzbekistan, Uzum ekotizimi, UZINFOCOM, School 21, IT Park, Women in Tech xalqaro assotsiatsiyasi ko‘magida o‘tkazilmoqda.
Ichimizda Jizzaxliklar bormi ? Kelinglar o'zim ham shu yerda bo'laman.
@JavaScriptQuiiz
Telegram
IT Community of Uzbekistan
Official chatbot of IT Community of Uzbekistan. Subscribe our channel @itcommunityuzb and become our citizen 💚
👍8
Ishoralarni tartiblang
NOTE: Bizda Array berilgan va u teng qiymatdagi musbat va manfiy sonlardan tashkil topgan. Musbat va manfiy elementlarning nisbiy tartibini o'zgartirmasdan, siz navbatma-navbat musbat va manfiy qiymatlar qatorini qaytarishingiz kerak.
Agar savol qiyinlik qilsa, internetdan izlab ko'ring, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!
Leetcode dagi shu misol uchun muqobil link : click me
Commentariyada boshqalar bilan muhokama qilling, juda muhim.
@JavaScriptQuiiz
NOTE: Bizda Array berilgan va u teng qiymatdagi musbat va manfiy sonlardan tashkil topgan. Musbat va manfiy elementlarning nisbiy tartibini o'zgartirmasdan, siz navbatma-navbat musbat va manfiy qiymatlar qatorini qaytarishingiz kerak.
Input: ARR = [1,2,-4,-5]
output: [1, -4, 2, -5]
Input: ARR = [1,2,-3,-1,-2, 3]
Output: [1, -3, 2, -1, 3, -2]
Agar savol qiyinlik qilsa, internetdan izlab ko'ring, algorithmni qanday ishlashini tushunishga harakat qiling va shuni o'zingiz takroran ishlab ko'ring!!!
Leetcode dagi shu misol uchun muqobil link : click me
@JavaScriptQuiiz
LeetCode
Rearrange Array Elements by Sign - LeetCode
Can you solve this real interview question? Rearrange Array Elements by Sign - You are given a 0-indexed integer array nums of even length consisting of an equal number of positive and negative integers.
You should return the array of nums such that the…
You should return the array of nums such that the…
👍6
Uzur so'rayman kanalni active ushlab turmaganim uchun, kanal uchun yangi planlar tuzuldi, endi kanalni active ushlab turamiz.
Sizlardam bitta iltimos/talabim bor ,iloji boricha hamma postlarga reaksiya bosing va izoh yozing.
👍14
Merge Sort — bu taqsim va boshqar (Divide and Conquer) usuliga asoslangan samarali saralash algoritmi. U berilgan massivni ikkiga bo‘lib, har bir qismini alohida tartiblaydi va keyin ularni birlashtiradi. Vaqt murakkabligi O(n log n) bo‘lib, katta hajmdagi ma’lumotlar uchun juda qulay hisoblanadi.
DAVOMI: CLICK
@JavaScriptQuiiz » #medium
DAVOMI: CLICK
@JavaScriptQuiiz » #medium
Medium
Merge Sort Algoritmi haqida.
🔍 Merge Sort — bu taqsim va boshqar (Divide and Conquer) usuliga asoslangan samarali saralash algoritmi. U berilgan massivni ikkiga…
1👍6🔥2👏2
JavaScript || DSA
Merge Sort — bu taqsim va boshqar (Divide and Conquer) usuliga asoslangan samarali saralash algoritmi. U berilgan massivni ikkiga bo‘lib, har bir qismini alohida tartiblaydi va keyin ularni birlashtiradi. Vaqt murakkabligi O(n log n) bo‘lib, katta hajmdagi…
1🔥7👍3👏1
🚀 Bugun soat 09:00 da JavaScript kanalida qiziqarli viktorina sizni kutmoqda!
☕️ Coffeeni tayyorlab, bilimlaringizni sinab ko‘rishga tayyormisiz, dasturchilar?
☕️ Coffeeni tayyorlab, bilimlaringizni sinab ko‘rishga tayyormisiz, dasturchilar?
Telegram
JavaScript || DSA
Assalomu Alaykum:
Bu Kanalda Dasturlashga oid turli xil masalalar tashlab boriladi.
Bu Kanalni ochishdan maqsad masala ishlash ko'nikmasini oshirish. Masalalar asosan leetcode.com dan olinadi va tarjima qilinadi.
Takliflar: @abduhamid0v
Bu Kanalda Dasturlashga oid turli xil masalalar tashlab boriladi.
Bu Kanalni ochishdan maqsad masala ishlash ko'nikmasini oshirish. Masalalar asosan leetcode.com dan olinadi va tarjima qilinadi.
Takliflar: @abduhamid0v
🔥8👍2
1. Quyidagi kod natijasi qanday bo‘ladi?
Anonymous Quiz
58%
undefined
30%
5
4%
ReferenceError
8%
null
2. Quyidagi koddan so‘ng arr ning qiymati qanday bo‘ladi?
Anonymous Quiz
52%
[1, 2, 3]
21%
[1, 2, 3, 4]
16%
[2, 3, 4]
11%
Error
let obj = { name: "John" };
let obj2 = obj;
obj2.name = "Doe";
console.log(obj.name);