Zadanie 1
Udowodnij, że algorytm Najdłuższy-Malejący jest poprawny.
Rozwiązanie
Dla każdego nowego niezerowego elementu x, który jest aktualnie na pozycji j-tej, jeśli wstawiamy x na pozycję i-tą,
to w tym momencie na pozycji (i-1)-szej jest pewien jego poprzednik y w najdłuższym ciągu malejącym
kończącym się na pozycji j-tej. To znaczy w szczególności, że y>x, oraz że y jest na pewnej pozycji mniejszej od j.
Zadanie 2
Udowodnij, że algorytm Proste-Pakowanie jest poprawny.
Rozwiązanie
W każdym optymalnym pakowaniu można je tak zmienić, że najmniejszy element będzie razem
z maksymalnym, z którym się mieści do tego samego pudełka
Zadanie 3
Udowodnij poprawność algorytmu na cykliczną równoważność słów.
Rozwiązanie
Relacja mniejszości dla ciągów niech będzie relacją mniejszości leksykograficznej.
Zdefiniujmy:
oraz dla pewnego ,
oraz dla pewnego .
Skorzystamy z prostego faktu:
Jeśli lub , to nie są równoważne.
Poprawność algorytmu wynika teraz z tego, że po każdej głównej iteracji zachodzi niezmiennik:
\ oraz \ .
Zadanie 4
Dla jakich ciągów algorytm na cykliczną równoważność wykonuje maksymalną liczbę porównan symboli?
Rozwiązanie
Dla ciągów postaci o tej samej długości.