Spisu treści:

Jak obliczana jest złożoność sortowania przez scalanie?
Jak obliczana jest złożoność sortowania przez scalanie?

Wideo: Jak obliczana jest złożoność sortowania przez scalanie?

Wideo: Jak obliczana jest złożoność sortowania przez scalanie?
Wideo: Merge sort time complexity analysis 2024, Może
Anonim

2 odpowiedzi. Podział węzła A[L, R] na dwa węzły zajmuje czas R−L+1, a następnie scalanie dwa węzły potomne A[L,M] i A[M+1,R] ponownie zajmują czas A[R−L+1]. Zatem dla każdego węzła liczba operacji algorytm performs jest równa dwukrotności rozmiaru tablicy odpowiadającej temu węzłowi.

W związku z tym, jak działa sortowanie przez scalanie?

Oto jak sortowanie przez scalanie wykorzystuje metodę dziel i zwyciężaj:

  1. Podziel, znajdując liczbę q pozycji w połowie między p i r.
  2. Pokonaj, sortując rekurencyjnie podtablice w każdym z dwóch podproblemów utworzonych przez krok dzielenia.
  3. Połącz, scalając dwie posortowane podtablice z powrotem w pojedynczą posortowaną podtablicę[s..

Ponadto, jaka jest duża złożoność O dla sortowania przez scalanie? Połącz Sortuj jest stajnią sortować co oznacza, że ten sam element w tablicy zachowuje swoje pierwotne pozycje względem siebie. Całkowity czas złożoność z Scal sortuj jest O (nZaloguj). Jest bardziej wydajny, ponieważ w najgorszym przypadku również czas wykonania jest O (nlogn) Przestrzeń złożoność z Scal sortuj jest O (n).

jaka jest złożoność sortowania przez scalanie w najgorszym przypadku?

n*log(n)

Ile porównań wykonuje sortowanie przez scalanie?

Gdy skończą nam się elementy na jednej z list, pozostałe elementy umieszczamy w ostatnich slotach posortowane lista. W rezultacie, scalanie dwie listy zawierające łącznie n elementów wymagają co najwyżej n-1 porównania.

Zalecana: