Sıfırdan Senior Developer səviyyəsinə qədər inkişaf yolu. Premium kurslar və texniki məqalələr.
Bu kurs C++ dilini sadəcə sintaksis səviyyəsində deyil, mühəndislik baxış bucağı ilə öyrədir. Kurs boyunca yaddaşın necə işlədiyini, pointer-lərin arxasındakı məntiqi, obyekt yönümlü proqramlaşdırmanın (OOP) real səbəblərini və C++-ın sistem səviyyəli gücünü dərin şəkildə anlayacaqsınız. Bu, “copy-paste proqramçı” yetişdirən kurs deyil. Bu kurs düşünən, analiz edən və genişlənə bilən kod yaza bilən proqramçılar üçündür.
Bu kurs Git və GitHub-ı sıfırdan, amma real sənaye yanaşması ilə öyrədir.
Xoş gəlmisiniz, gələcək Mühəndis. Bir çoxları proqramlaşdırmanı sadəcə "kod yazmaq" zənn edir. Amma əsl mühəndislər bilir ki, kod yazmaq — aysberqin sadəcə görünən tərəfidir. Kodun altında nəhəng, səssiz və mükəmməl işləyən bir "Dəmir Dünyası" yatır.
Bu kurs proqramlaşdırma dünyasının "onurğa sütunudur". Hansı dildə (C++, Go, Python) kod yazmağından asılı olmayaraq, proqramın sürətini və yaddaş səmərəliliyini təyin edən məhz bu kursda öyrəndiyin məntiqlərdir. Kursun əsas fəlsəfəsi budur: "Düzgün verilən strukturu + Düzgün alqoritm = Effektiv Proqram".
Bu dərsdə Quick Sort alqoritminin "böl və idarə et" məntiqi ilə işləmə prinsipini və C++ dilində tətbiqini öyrənəcəksiniz. Pivot elementinin seçim strategiyalarını və bu seçimin alqoritmin sürətinə necə təsir etdiyini detallı şəkildə təhlil edəcəyik. Həmçinin, alqoritmin zaman və məkan mürəkkəbliyini, üstünlüklərini və digər sıralama üsullarından fərqini mənimsəyəcəksiniz.
Bu dərsdə "böl və idarə et" (Divide and Conquer) prinsipinə əsaslanan və sabit performansı ilə seçilən Merge Sort (Birləşmə ilə sıralama) alqoritmini öyrənəcəksiniz. Massivin rekursiv olaraq ən kiçik hissələrə bölünməsi və sonra sıralı şəkildə yenidən birləşdirilməsi mexanizmini kod üzərində tətbiq edəcəksiniz. Hər zaman O(nlogn) zaman mürəkkəbliyi ilə işləyən bu alqoritmin stabillik xüsusiyyətini və Quick Sort-dan fərqli olaraq əlavə yaddaş tələbini təhlil edəcəksiniz.