Algorytm szybkiego potęgowania
Algorytm szybkiego potęgowania – metoda pozwalająca na szybkie obliczenie potęgi o wykładniku naturalnym. Metoda ta wykorzystuje pośrednio dwójkową reprezentację wykładnika potęgi, a jej złożoność, wyrażona jako liczba wykonywanych mnożeń, wynosi Θ ( log n ) {\displaystyle \Theta (\log n)} , gdzie n oznacza wykładnik obliczanej potęgi.
Szybkie podnoszenie do potęgi w praktyce stosuje się do obliczania reszty z dzielenia potęgi przez ustaloną liczbę. Używa się go np. w algorytmach szyfru RSA.
Potęgowanie definiuje się za pomocą mnożenia
co daje łącznie k-1 mnożeń.
Dla dużego k liczba wymaganych operacji może być bardzo duża.
Algorytm szybkiego potęgowania jest konsekwencją obserwacji, że aby obliczyć wartość a b {\displaystyle a^{b}} wystarczy znać ( oznacza część całkowitą), a następnie wykonać jedno lub dwa mnożenia. Np. aby obliczyć wystarczy znać wartość , a następnie policzyć i wynik wynosi . W ten sposób, aby wykonać jeden krok algorytmu, czyli przejść od do , wystarczy wykonać 2 mnożenia zamiast 88, jak wynikałoby to z przytoczonej wyżej definicji.