Próbuję zrozumieć kilka algorytmów sortowania, ale staram się dostrzec różnicę w algorytmie sortowania bąbelkowego i sortowania przez wstawianie.
Wiem, że oba są O (n 2 ), ale wydaje mi się, że sortowanie bąbelkowe po prostu przesuwa maksymalną wartość tablicy na górę dla każdego przebiegu, podczas gdy sortowanie przez wstawianie po prostu zrzuca najniższą wartość na dół każdego przebiegu. Czy nie robią dokładnie tego samego, ale w różnych kierunkach?
W przypadku sortowania przez wstawianie liczba porównań / potencjalnych zamiany zaczyna się od zera i rośnie za każdym razem (tj. 0, 1, 2, 3, 4, ..., n), ale w przypadku sortowania bąbelkowego dzieje się to samo, ale na końcu sortowanie (tj. n, n-1, n-2, ... 0), ponieważ sortowanie bąbelkowe nie musi już porównywać się z ostatnimi elementami podczas ich sortowania.
Mimo wszystko wydaje się, że konsensus jest co do tego, że sortowanie przez wstawianie jest ogólnie lepsze. Czy ktoś może mi powiedzieć dlaczego.
Edycja: Interesują mnie przede wszystkim różnice w działaniu algorytmów, nie tyle ich wydajność czy asymptotyczna złożoność.