JavaRush tələbələrinin rahatlığı üçün proqramlaşdırmanın ən vacib mövzuları haqqında mühazirələr və məqalələr toplamaq qərarına gəldik. Üçüncü seçim alqoritmlərə aiddir. Mini-bələdçidə məqalələrin mahiyyətini qısaca təsvir edirik və linki izləsəniz, maraqlandığınız mövzu haqqında daha çox məlumat əldə edə bilərsiniz. Kolleksiyanı əlfəcinlərinizə əlavə edin və lazım olduqda ona qayıdın.
Alqoritmlər haqqında materiallar
Məqalələr və mühazirələr
Harvard kursu
"CS50. Proqramlaşdırmanın əsasları" tərtibatçının malik olmalı olduğu əsas bilikləri əhatə edir. Bu mühazirə birləşmə çeşidləmə adlı alqoritmdən bəhs edir. Bu alqoritm rekursivdir, bir böyük çeşidləmə problemini alt tapşırıqlara bölür, onların icrası onu orijinal böyük problemin həllinə yaxınlaşdırır. Bu mühazirə həm mətn, həm də video formatında mövcuddur.
Harvard kursunun "CS50. Proqramlaşdırmanın əsasları" adlı növbəti mühazirə seçim növündən bəhs edir. Ədədlər massivinin çeşidlənməsi nümunəsindən istifadə edərək, bu çeşidləmə alqoritmi mühazirədə müzakirə olunur. Əvvəlki mühazirədə olduğu kimi, məlumatı necə mənimsəməyinizdən asılı olaraq onu oxuya və ya videoya baxa bilərsiniz.
JavaRush tərəfindən rus dilinə tərcümə edilmiş Harvard kursundan başqa bir mühazirə. Bu alqoritmin əsas ideyası (daxiletmə çeşidi) massivi çeşidlənmiş və çeşidlənməmiş iki hissəyə bölməkdir. Alqoritmin hər addımında nömrə çeşidlənməmiş hissədən çeşidlənmiş hissəyə keçir.
Mühazirəçi qabarcıq çeşidləmə alqoritminin necə işlədiyini izah etmək üçün sadə nümunələrdən istifadə edir. Bu alqoritm çox aydındır və həyata keçirilməsi ən asandır. Buna görə yeni başlayanlar onu çox sevirlər. Bubble çeşidini öyrənmək üçün mühazirəni oxuyun və videoya baxın.
Elementlərin çeşidlənməsi, tərtibatçının öyrəşməli olduğu alqoritmlərin kateqoriyalarından biridir. Bu məqalədə müəllif çeşidləmə alqoritmlərini araşdırır: sadə çeşidləmə, seçmə çeşidləmə, daxil etmə çeşidi, servis çeşidləmə, Shell çeşidləmə və s. Məqaləyə əlavə olunan material daha çox öyrənməyə imkan verəcək, çünki bu, nəzərdən keçirilən məqalədir. Və məqsədi qısa bir giriş verməkdir.
Bu, kod yazmaq üçün alqoritmlər haqqında məqalənin tərcüməsidir. Tərcümə müəllifi məqaləni artıq dilin əsaslarını bilən və alqoritmlər haqqında biliklərini bir az da genişləndirmək istəyən insanlar tərəfindən oxunacağını güman edir. Aşağıda təqdim olunan problemlərin həlli üçün ümumi yanaşmalara aşağıdakılar daxildir: çeşidləmə, ikili axtarış, hash cədvəlləri,
yığınlar , ağaclar,
dərinlik-ilk axtarış ,
dinamik proqramlaşdırma .
Alqoritmlər haqqında giriş məqaləsi. Həll edilməli olan problemin nümunəsindən istifadə edərək, mətndə addım-addım alqoritmlər və onlardan istifadə qaydaları izah edilir. Mühazirənin sonunda alqoritmlər haqqında məlumat olan faydalı mənbələrin siyahısı verilmişdir.
“Müsahibə sualları və cavabları”nda alqoritmlər
Layihələrdə düşündüyünüzdən daha tez-tez müxtəlif növ alqoritmlərdən istifadə olunur. Məsələn, bəzi məlumatları müəyyən parametrlərə (sütunlara) görə çeşidləməliyik ki, çox səy göstərmədən oradan keçə bilək. Buna görə də, iş müsahibələri zamanı onlardan müəyyən bir əsas alqoritm haqqında sual verilə bilər və bəlkə də koddan istifadə edərək onu həyata keçirmək tapşırığı verilə bilər. Bu yazıda siz bəzi əsas alqoritmlər və onların Java-da həyata keçirilməsinin konkret nümunələri ilə tanış ola bilərsiniz.
Əvvəlki məqalədə müəllif massivlərin çeşidlənməsi üçün müxtəlif alqoritmlərdən və xəsis alqoritm adlanan alqoritmdən bəhs etmişdi.Bu yazıda onlara aid olan qrafiklərdən və alqoritmlərdən bəhs edilir.
Bonus
Aditya Bharqavanın "Grocking Alqoritmləri" kitabının çox ətraflı nəzərdən keçirilməsi. Müəllif kitabın hər bir bölməsini addım-addım nəzərdən keçirir: mövzu əlçatan şəkildə təqdim olunurmu, kifayət qədər məlumat verilirmi. Rəyi oxuyun və alqoritmlər haqqında kitab alıb-almayacağınıza qərar verin.
Bu kitab proqramlaşdırmada verilənlər strukturlarının və alqoritmlərinin öyrənilməsinə və istifadəsinə həsr edilmişdir. O, məlumat strukturlarının verilənlərin yaddaşda necə təşkil olunduğunu və alqoritmlərin bu strukturlar üzərində müxtəlif əməliyyatları necə yerinə yetirdiyini müzakirə edəcək.
Seriyadakı digər materiallar: |
|
GO TO FULL VERSION