Przyznam szczerze, że dla mnie ten wykres jest mało czytelny mimo, że wiem o jaki algorytm chodzi. Uważam, że algorytmy powinno się pisać bardziej opisowo, nie wiem czy jest to "zgodne z teorią", ale napewno jest czytelniejsze.
Jeżeli chodzi o te wykresy to postaram sie je jakoś zinterpretować - powinno Ci trochę pomóc.
Zgaduje, że zmienna "w" jest w Twoim przypadku aktualną największą liczbą (ustwioną na drugi element tzn element o indeksie 1 - bez gwarancji że taki jest), następnie pojawia się zmienna "i" - zgaduje, że jest to index tablicy A i jest ustawia na 2 również bez gwarancji, że w tablicy są minimum 3 elementy. Później pojawia się zmienna "a" która jest tablicą(?) przynajmniej tak wynika z kroku poniżej gdzie jest próba dostać się do jej drugiego elementu (index 1) - również bez gwarancji, że taki istnieje. W każdym razie dalej jest porównanie zmiennej "i", która jest chyba indexem z jakąś tajemniczą tablicą - to sypnie Ci w najgorszym wypadku jakimiś logicznymi trudnymi do znalezienia błędami w najlepszym po prostu wywali błąd (zależy od języka programowania). W następnych krokach druga liczba z tej tajemniczej tablicy jest porównywana z największą (jeżeli to oznacza "w") i w zalezności od wyniku jest zawsze podmieniana na tą samą liczbę (drugą - o indexie 1 - z tajemniczej tablicy a) lub zwiększa się indeks.
Osobiście zrobiłbym to trochę inaczej:
