Sortowanie wstawione a algorytmy sortowania bąbelkowego

Próbuję zrozumieć kilka algorytmów sortowania, ale staram się zobaczyć różnicę w algorytmie sortowania bąbelkowego i sortowania wstawianego.

Wiem, że oba są O (n2), ale wydaje mi się, że sortowanie bąbelkowe po prostu przenosi maksymalną wartość tablicy do góry dla każdego przejścia, podczas gdy sortowanie wstawek po prostu obniża najniższą wartość na dole każdego przejścia. Czy nie robią dokładnie tego samego, ale w różnych kierunkach?

W przypadku sortowania wstawionego liczba porównań / potencjalnych swapów rozpoczyna się od zera i zwiększa się za każdym razem (tj. 0, 1, 2, 3, 4, ..., n), ale w przypadku sortowania bąbelkowego to samo zachowanie zachodzi, ale pod koniec sortowanie (np. n, n-1, n-2, ... 0), ponieważ sortowanie bąbelkowe nie musi już być porównywane z ostatnimi elementami, ponieważ są sortowane.

Mimo to wydaje się, że konsensus, że rodzaj wstawiania jest ogólnie lepszy. Czy ktoś może mi powiedzieć dlaczego.

Edytować:Interesują mnie przede wszystkim różnice w działaniu algorytmów, a nie ich wydajność czy asymptotyczna złożoność.

questionAnswers(11)

yourAnswerToTheQuestion