Algorytm Johnsona