Matematika untuk DSA. Konsep matematika diskrit yang sering muncul di DSA: modular, prima, kombinatorial.
Setiap Chapter pada Section ini disusun bertahap: konsep dasar, implementasi C++, lalu latihan dan refleksi. Pastikan pembaca menyelesaikan Chapter sebelumnya karena topik saling berkaitan.
Definisi formal Big-O via limit, growth rates, dan Big-O sebagai himpunan fungsi.
Buka → # Logaritma dan EksponenProperti logaritma dan eksponen yang menjadi dasar analisis binary search dan kompleksitas.
Buka → # Modulo ArithmeticProperti aritmetika modulo: penjumlahan, perkalian, pengurangan, dan pembagian via invers.
Buka → # GCD dan LCMAlgoritma Euclidean untuk FPB dan KPK, plus std::gcd/std::lcm di C++17.
Buka → # Bilangan PrimaDefinisi bilangan prima, primality test trial division, optimasi 6k±1.
Buka → # Sieve of EratosthenesMenemukan semua prima hingga n dalam O(n log log n), plus linear sieve dan segmented sieve.
Buka → # Faktorisasi PrimaMenguraikan bilangan menjadi faktor primanya via trial division; aplikasi jumlah dan sum pembagi.
Buka → # CombinatoricsPrinsip dasar penghitungan: product rule, sum rule, inclusion-exclusion, pigeonhole.
Buka → # Permutasi dan KombinasiRumus P(n,k), C(n,k), identitas Pascal, dan komputasi modular dengan precompute faktorial.
Buka → # Probabilitas DasarProbabilitas diskrit: sample space, event, conditional, expected value, dengan simulasi Monte Carlo.
Buka → # Fast ExponentiationPangkat cepat O(log n) secara rekursif dan iteratif, dengan modular exponentiation dan aplikasi Fermat.
Buka → # Modular InverseInvers modulo via Fermat's little theorem dan Extended Euclidean; pembagian modular.
Buka →