wcześniej pracowałem nad sortowaniem sekwencji całkowitych bez identycznych liczb (bez utraty ogólności, załóżmy, że sekwencja jest permutacją 1,2,...,n
) w jej naturalnym porządku rosnącym (tj. 1,2,...,n
) . Zastanawiam się, jak zamienić elementy (bez względu na pozycje elementów, innymi słowy, zamiana jest ważna dla dowolnych dwóch elementów) z minimalną liczbą zamian. Domyślam się, że jest to wykonalny algorytm:Obliczyć minimalną liczbę zamiany, aby zamówić sekwencję
Zamień dwa elementy z ograniczeniem, w którym jeden lub oba z nich powinny zostać zamienione na prawidłowe pozycje. Dopóki każdy element nie zostanie umieszczony we właściwym miejscu.
Ale nie wiem, jak matematycznie udowodnić, czy powyższy algorytm może prowadzić do optymalnego rozwiązania. Ktoś może pomóc?
Dziękuję bardzo.
Jaki będzie czas złożoność tego? – puneet
Złożoność czasowa: O (n * logn) Złożoność przestrzeni: O (n) @ puneet –