"Algoritm" blogidagi maqolalar

Rekursiya. Nima uchun u kerak? 19/11/29 23:30

Rekursiya. Nima uchun u kerak?

"Rekursiya nimaligini tushunish uchun oldin rekursiya nimagligini tushunish kerak" — Stephen Hawking Rekursiya bilan tanishish uchun kichik hikoyacha ham o'qib oldik. Endi uning ta'rifi, qanday ishlatilishi va o'zi nima uchun u kerakligi haqida ham gaplashamiz.Rekursiya ta'rifiTa'rif: Funksiya o'ziga…



Rekursiv hikoya 19/11/29 23:25

Rekursiv hikoya

"Rekursiya nimaligini tushunish uchun oldin rekursiya nimagligini tushunish kerak" — Stephen HawkingRekursiya — bu dasturlashning eng chalg'ituvchi bo'limlaridan, shuning uchun ham uni tushunishga va undan to'g'ri foydalanishga ko'pchilik qiynalishi aniq. Lekin, rekursiya dasturlashning eng murakkab masalalarining asosi hisoblanadi, shuning uchun ham uni yaxshi tushunish va to'g'ri ishlata olish juda ham muhim.Rekursiya nimaligini tasavvur qilish uchun, oddiy…



Singleton 19/03/30 13:25

Singleton

Dasturiy injiniringda singleton model(singleton pattern)i – bu dasturni loyihalash modeli tushunchasi bo'lib, u bitta klassdan faqat bitta obyekt yaratish imkonini beradi. Bunday qilish butun loyiha bo'ylab faqat bitta obyektning metodlarini ishlatish paytida qo'l keladi. Ushbu termin matematik singleton tushunchasidan kelib chiqqan. *** Matematik singleton tushunchasi. Matematikada singleton – bu faqat bitta elementdan iborat to'plam. Masalan, {null} to'plami singleton hisoblanadi.…



Berilgan sonning barcha tub bo'luvchilarini topishning samarali usullaridan biri 18/11/29 00:15

Berilgan sonning barcha tub bo'luvchilarini topishning samarali usullaridan biri

Avvalambor Assalomu alaykum. Bu darsimda sizlarni sonning barcha tub bo'luvchilarini topish algoritmi bilan tanishtirmoqchiman.Tub son deb faqat o'ziga va 1 ga bo'linadigan songa aytiladi.Demak boshladik: Berilgan sonni n deb belgilab olamiz. Agarda n soni 2 ga bo'linsa, ekranga 2 ni chiqaramiz va n ni 2 ga bo'lamiz(Bu amal n soni 2 ga bo'linmay qolguncha bajariladi) Keyingi bo'luvchilar albatta toq sonlar bo'ladi. Shuning uchun i=3 dan n…



Shunting-yard algoritmi! 18/11/24 04:11

Shunting-yard algoritmi!

Algoritm nomini inglizcha holatida keltirdim. Chunki ayrim atamalarni internetdan inglizcha qidirib topish osonroq. Algoritm o'zbekchada "Saralash stansiyasi" deb nomlanadi! Bu nomni temir yo'llardagi poyezdlarni saralaydigan joyga o'xshaganligi uchun bo'lsa kerak. Algoritm maqsadi, matematik ifodalarni kompyuter yordamida tez hisoblashdir. Misol uchun: 5 * (cos(1) ^ 2 + sin(1) ^ 2) / 2 + 10 - 3 ^ 2 + max(sqrt(25), sqrt(36)) Ushbu ifoda qiymati: 9.5 ga teng. 5 * 1 /…



Binar qidiruv( Binary Search ) 18/11/20 01:06

Binar qidiruv( Binary Search )

Aytaylik bizga tartiblangan n ta elementdan iborat arr[] massiv berilgan bo'lsin, va berilgan x ni arr[] ichidan qidirish funksiyasini tuzish sharti qo'yilsin. Bu holatda eng oson yo'l sifatida chiziqli qidiruvni misol keltirish mumkin. Ammo bu usulning vaqt davomiyligi O(n) ni tashkil qiladi. Xuddi shu vazifa uchun biz binar qidir algoritmini ishlatsak bo'ladi. Binar qidiruv…



So'zlarni alifbo tartibida saralash algoritmi 18/11/16 21:32

So'zlarni alifbo tartibida saralash algoritmi

Ba'zi hollarda so'zlarni alifbo tartibida saralashga ehtiyoj paydo bo'ladi. Dasturlash tillarida mavjud saralash funksiyalari hozirgi o'zbek alifbosidagi harflar tartibi bo'yicha saralashga imkon bermaydi. Ammo bu muammoni juda oddiy usulda hal qilish mumkin. Bu yerda taklif qilingan saralash algoritmi juda oddiy va professional dasturchi bundan ham qulayroq va samaraliroq algoritm yaratishi mumkin. Algoritm JavaScript misolida keltirilgan. Birinchi navbatda, alifbodagi…



Birlashmali saralash (Merge Sort) 18/11/16 00:45

Birlashmali saralash (Merge Sort)

Birlashmali saralash (Merge Sort) algoritmi asosiy beshta saralash algoritmlari (pufakchali saralash, tezkor saralash va boshqalar) dan biri bo`lib, chiziqli saralash algoritmlaridan farqli ravishda "bo`lib tashla va hukmronlik qil" tipidagi algoritm hisoblanadi. Bu tipdagi algoritmlar katta hajmdagi masalalarni nisbatan kichik bo`lgan va oson yechiladigan qismlarga ajratgan holda bajaradi. Bunday algoritmlar…



Berilgan N sonigacha bo'lgan tub sonlarni topishning eng samarali algoritmi 18/11/12 22:25

Berilgan N sonigacha bo'lgan tub sonlarni topishning eng samarali algoritmi

Assalomu alaykum. Bugun sizlarga ajoyib bir algoritmni ko'rsatib o'tmoqchiman. Bu algoritmning nomi Eretasfen G'alviri (ing Eratosthenes sieve, rus решето Эратосфена). Algoritmning asosiy maqsadi 1 dan n (n<10 mln)gacha bo'lgan barcha tub sonlarni topishdir. Avvalambor tub son nimaligini maktabdagi davrimizdan esimizga solib olaylik : Faqat 1 ga va o'ziga bo'linadigan sonlar tub sonlar deyiladi. Demak tushuntirmoqchi bo'lgan algoritmning g'oyasi quyidagicha: 2…



Chiziqli va binar qidiruv 18/11/07 14:25

Chiziqli va binar qidiruv

Salom! Ushbu maqolada men massivda biron bir elementni qidirish algoritmlari bilan qisqacha tanishtirishga harakat qilaman. Aytaylik bizga massiv berilgan: a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Bizga ushbu massivda biron bir element bor yoki yo'qligini tekshira oladigan dastur tuzish sharti qo'yilgan. Ushbu masalani yechishda eng birinchi xayolga keladigan usul - bu massivni ketma-ket har bir elementini solishtirib chiqish va bu usul: Chiziqli qidiruv…