JavaRush talabalariga qulaylik yaratish maqsadida biz dasturlashning eng muhim mavzulari boʻyicha maʼruzalar va maqolalar toʻplashga qaror qildik. Uchinchi tanlov algoritmlar haqida. Mini-qo'llanmada biz maqolalarning mohiyatini qisqacha bayon qilamiz va agar siz havolaga rioya qilsangiz, siz qiziqqan mavzu haqida ko'proq bilib olishingiz mumkin. To'plamni xatcho'plaringizga qo'shing va kerak bo'lganda unga qayting.
Algoritmlar bo'yicha materiallar
Maqolalar va ma'ruzalar
Garvard kursi
"CS50. Dasturlash asoslari" dasturchi ega bo'lishi kerak bo'lgan asosiy bilimlarni qamrab oladi. Ushbu ma'ruza birlashma tartiblash deb ataladigan algoritm haqida gapiradi. Bu algoritm rekursivdir; u bitta katta tartiblash masalasini quyi vazifalarga ajratadi, ularning bajarilishi uni asl yirik masalani echishga yaqinlashtiradi. Ushbu ma'ruza matn va video formatlarida mavjud.
Garvard kursining navbatdagi "CS50. Dasturlash asoslari" ma'ruzasi tanlov turi haqida gapiradi. Raqamlar massivini saralash misolidan foydalanib, ushbu tartiblash algoritmi ma'ruzada muhokama qilinadi. Oldingi ma'ruzada bo'lgani kabi, siz ma'lumotni qanday qilib osonroq qabul qilishingizga qarab, uni o'qishingiz yoki videoni tomosha qilishingiz mumkin.
JavaRush tomonidan rus tiliga tarjima qilingan Garvard kursidan yana bir ma'ruza. Ushbu algoritmning asosiy g'oyasi (qo'shish tartibi) massivni tartiblangan va tartiblanmagan ikki qismga bo'lishdir. Algoritmning har bir bosqichida raqam tartiblanmagan qismdan tartiblangan qismga o'tadi.
O‘qituvchi pufakchali tartiblash algoritmi qanday ishlashini tushuntirish uchun oddiy misollardan foydalanadi. Ushbu algoritm juda aniq va amalga oshirish eng oson. Shuning uchun yangi boshlanuvchilar uni juda yaxshi ko'radilar. Pufakcha tartiblashni o'rganish uchun ma'ruzani o'qing va videoni tomosha qiling.
Elementlarni saralash - ishlab chiquvchi o'rganishi kerak bo'lgan algoritmlar toifalaridan biridir. Ushbu maqolada muallif tartiblash algoritmlarini ko'rib chiqadi: oddiy tartiblash, tanlash tartibi, qo'shish tartibi, shattle sort, Shell sort va boshqalar. Maqolaga biriktirilgan material sizga ko'proq ma'lumot olish imkonini beradi, chunki bu sharh maqolasi. Va uning maqsadi qisqacha kirishdir.
Bu kod yozish algoritmlari haqidagi maqolaning tarjimasi. Tarjima muallifi maqolani til asoslarini allaqachon biladigan va algoritmlar haqidagi bilimlarini biroz kengaytirmoqchi bo‘lgan odamlar o‘qishini taxmin qiladi. Quyida keltirilgan muammolarni hal qilishning umumiy yondashuvlariga quyidagilar kiradi: saralash, ikkilik qidiruv, xesh jadvallar,
uyalar , daraxtlar,
chuqurlikdan birinchi qidirish ,
dinamik dasturlash .
Algoritmlar haqida kirish maqolasi. Matnda bosqichma-bosqich, hal qilinishi kerak bo'lgan muammo misolidan foydalanib, algoritmlar va ulardan qanday foydalanish kerakligi tushuntiriladi. Ma'ruza oxirida algoritmlar haqidagi ma'lumotlarga ega foydali manbalar ro'yxati keltirilgan.
“Intervyu savollari va javoblari” algoritmlari
Loyihalarda siz o'ylaganingizdan ko'ra ko'proq turli xil algoritmlardan foydalaniladi. Misol uchun, biz ba'zi ma'lumotlarni ma'lum parametrlar (ustunlar) bo'yicha saralashimiz kerak, shunda biz ular bo'ylab ko'p harakat qilmasdan harakat qilishimiz mumkin. Shuning uchun, ish intervyularida, ulardan ma'lum bir asosiy algoritm haqida so'rash va, ehtimol, kod yordamida uni amalga oshirish vazifasi berilishi mumkin. Ushbu maqolada siz ba'zi asosiy algoritmlar va ularni Java-da amalga oshirishning aniq misollari bilan tanishishingiz mumkin.
Avvalgi maqolada muallif massivlarni saralashning turli algoritmlari va ochko‘z algoritm deb ataladigan narsa haqida gapirgan edi.Ushbu maqolada ular bilan bog‘liq grafiklar va algoritmlar haqida so‘z boradi.
Bonus
Aditya Bhargavaning "Grocking Algoritms" kitobining juda batafsil sharhi. Muallif kitobning har bir bo'limini bosqichma-bosqich ko'rib chiqadi: mavzu qulay tarzda taqdim etilganmi, etarli ma'lumot berilganmi. Sharhni o'qing va algoritmlar haqida kitob sotib olishni hal qiling.
Ushbu kitob dasturlashda ma'lumotlar tuzilmalari va algoritmlarini o'rganish va ulardan foydalanishga bag'ishlangan. U ma'lumotlar tuzilmalari ma'lumotlarning xotirada qanday tashkil etilishini qanday aniqlashini va algoritmlar ushbu tuzilmalar ustida turli operatsiyalarni qanday bajarishini muhokama qiladi.
Seriyadagi boshqa materiallar: |
|
GO TO FULL VERSION