Sommario:

Come viene calcolata la complessità del merge sort?
Come viene calcolata la complessità del merge sort?

Video: Come viene calcolata la complessità del merge sort?

Video: Come viene calcolata la complessità del merge sort?
Video: Complessità Algoritmi - MERGE SORT 2024, Maggio
Anonim

2 risposte. La suddivisione di un nodo A[L, R] in due nodi richiede il tempo R−L+1 e quindi fusione i due nodi figli A[L, M] e A[M+1, R] impiegano ancora un tempo A[R−L+1]. Quindi per ogni nodo, il numero di operazioni il algoritmo performs è pari al doppio della dimensione dell'array corrispondente a quel nodo.

A questo proposito, come funziona il merge sort?

Ecco come il merge sort utilizza il divide et impera:

  1. Dividi trovando il numero q della posizione a metà strada tra p ed r.
  2. Conquista ordinando ricorsivamente i sottoarray in ciascuno dei due sottoproblemi creati dal passaggio di divisione.
  3. Combina unendo i due sottoarray ordinati nuovamente nel singolo sottoarray ordinato [p..

Inoltre, qual è la grande complessità di O per il merge sort? Unisci ordinamento è una stalla ordinare il che significa che lo stesso elemento in un array mantiene le loro posizioni originali l'uno rispetto all'altro. Tempo complessivo complessità di Unisci ordinamento è oh (nLogin). È più efficiente in quanto nel peggiore dei casi anche il runtime è oh (nlogn) Lo spazio complessità di Unisci ordinamento è oh (n).

qual è la complessità del merge sort nel peggiore dei casi?

n*log(n)

Quanti confronti fa il merge sort?

Quando esauriamo gli elementi in una delle liste, inseriamo gli elementi rimanenti negli ultimi slot del smistato elenco. Di conseguenza, fusione due liste che hanno un totale di n elementi richiedono al massimo n-1 confronti.

Consigliato: