Wskazówka:
W zadaniu rozważane są wielomiany stopnia n − 1, gdzie tym razem n jest potęgą trójki. Do rozwiązania problemu obliczania wartości wielomianu stosuje się również technikę dziel i zwyciężaj. Zaproponowana funkcja G dokonuje podziału tablicy współczynników na trzy równe części, a następnie, po rozwiązaniu trzech podproblemów obliczania A(x), B(x), C(x) funkcja oblicza swój wynik, wykonując dodatkowo 2 mnożenia. W zadaniu należy obliczyć łączną liczbę mnożeń (oznaczmy ją przez h(n)) wykonywanych przez funkcję G dla problemów o pewnych rozmiarach. Przeprowadzając analizę podobną jak w zadaniu 2, otrzymujemy następujący związek rekurencyjny:
h(n) = 3h(n/3) + 2
z warunkiem początkowym h(1) = 0. Powyższy wzór właściwie wystarczy do rozwiązania całego zadania. Warto jednak dla dodatkowego ćwiczenia wykazać, że rozwiązaniem powyższej rekurencji jest funkcja
h(n) = n – 1
Porównując to z wynikiem zadania 2, widzimy, że funkcje F i G wykonują dokładnie tę samą liczbę mnożeń.
Powrót do pytań