"Algoritm" blogidagi maqolalar

manba

Bit amallar

20/01/27 23:57

Bit amallar

Bit amallar bitlarning ustida bajarilganligi sabab bit amallar nomini olgan. Protsessorga yaqin bo'lgani uchun bajaralishi jihatdan ancha tez. Bugun shu amallarga qisqacha nazar tashlaymiz. Ko'plab muammolarni hal qilishda juda qo'l kelishi mumkin. Demak bu galgi maqolamizda quyidagilar o'rganiladi: 1) Ikkilik And(&) amali. 2) Ikkilik Or(|) amali. 3) Ikkilik Xor(^) amali. 4) Ikkilik…



manba

Sodda amallarning asimptotik analizi

20/01/16 23:30

Sodda amallarning asimptotik analizi

O'tgan galgi maqolarimizda asimptotik analiz, eng yaxshi,o'rta va eng yomon holatlar va asimptotik notatsiya haqida so'z borgan edi. Bugungi maqolada sodda amallarning vaqt murakkabligi muhokama qilinadi. 1.…



manba

Cheksiz sig'imdagi integer muammosi

20/01/14 23:38

Cheksiz sig'imdagi integer muammosi

Muammo: Cheksiz sig'imdagi integerlar ustida qo'shish, ayirish, bo'lish, ko'paytirish va daraja amallarini bajarish. .Netda BigInteger mavjud bo'lib, ushbu ma'lumotlar tipida taxminan 232 dan 264 gacha raqamdan iborat bo'lgan sonni saqlashingiz mumkin. Bu esa cheksiz degani emas. Cheksiz bu judayam nisbiy tushuncha shu sabab 264 dan ko'proq raqamdan tashkil topgan sonlar haqida gaplashamiz. Bu muommoning yechimi uchun DoubleLinkedListdan foydalanamiz. Har bir node…



manba

Sonning ixtiyoriy butun darajasini hisoblash

20/01/13 22:18

Sonning ixtiyoriy butun darajasini hisoblash

Sonning ixtiyoriy butun darajasini topish informatikaning boshlang'ich kurslarida o'rganilgan sodda muommolardan biri. Yechimi ham oddiy: int pow = 1; for(int i =0; i < m; i++) { pow*=n; } Anglaganingizdek, yuqoridagi kod n^m ni hisoblaydi. Kod n ni m marta ko'paytirib chiqishga asoslangan. Bundan tezroq usul bormi? Ha bor ekan. Daraja bu sonni bir necha marta ko'paytirishdan iborat amal bo'lsa qanday qilib bundan tez bo'lishi mumkin. Keling, 7^13 ni hisoblab ko'raylik.…



manba

Strategy design patterni

20/01/11 15:48

Strategy design patterni

Design patternlar mavzusini davom etgan holda bugun Behavioral design patternlar oilasiga mansub Strategy Design Pattern haqida gaplashamiz. Qo'llash jihatidan ancha sodda lekin juda ko'p muammolarni birdaniga hal qila oladigan ushbu design patternni hayotda juda ko'p uchratishingiz mumkin. Bugun Observer design patterni haqidagi maqolada misol qilib olganimiz, yuk jo'natish dasturchasiga yangi imkoniyat qo'shamiz. Vodiy tomonlardan yuk jo'natish uchun koskader taksichilar…



manba

Merge sort (Birlashtirib saralash)

20/01/10 09:05

Merge sort (Birlashtirib saralash)

"Dasturlashning eng asosiy muammosi — bu murakkablik. Murakkablikni hal qilishning faqatgina bitta asosiy yo'li bor: Bo'lib tashla va hukmronlik qil" — Bjarne StroustrupIV qism. Bo'lib tashla va hukmronlik qil. 3-darsO'tgan darsimizda sizlar bilan ikkilik qidirish (binary search) algoritmi va uning



manba

Ikkilik qidirish (Binary search)

20/01/06 23:16

Ikkilik qidirish (Binary search)

"Dasturlashning eng asosiy muammosi — bu murakkablik. Murakkablikni hal qilishning faqatgina bitta asosiy yo'li bor: Bo'lib tashla va hukmronlik qil" — Bjarne StroustrupIV qism. Bo'lib tashla va hukmronlik qil. 2-darsOldingi darsimizda siz bilan bo'lib tashla va hukmronlik qil paradigmasi haqida gaplashgan edik. Bu paradigma…



manba

Bo’lib tashla va hukmronlik qil

20/01/04 23:45

Bo’lib tashla va hukmronlik qil

"Dasturlashning eng asosiy muammosi — bu murakkablik. Murakkablikni hal qilishning faqatgina bitta asosiy yo'li bor: Bo'lib tashla va hukmronlik qil" — Bjarne Stroustrup IV qism. Bo'lib tashla va hukmronlik qil. 1-dars Oldingi bo'limlarimizda sizlar bilan eng fundamental algoritmlar va ma'lumotlar tuzilmalarini ko'rib chiqdik. Bu bo'limga kelib endi ancha jiddiy masalalar bilan shug'ullanishni boshlashimiz mumkin. "Bo'lib tashla va hukmronlik qil" nimani anglatadi…



manba

Javada “Design Pattern” lar

20/01/02 22:37

Javada “Design Pattern” lar

"Design Patterns" atamasi nimani anglatadi? Design Patterns bu dasturlash jarayonini yengillashirish uchun oldindan ishlab chiqilgan standart kod yozish usullaridir. Odatda (bundan keyin qulaylik uchun Patternlar deb yozaman) Patternlar dastur ishlab chiqish jarayonida yuzaga keladigan ma'lum bir muammolarga yechimlar ko'rinishadi bo'ladi. Ushbu oldindan ishlab chiqilgan standart Patternlardan foydalanish…



manba

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 o'zi…