Heapsort: Heaps = ~ Quicksort: BSTs = ~ Mergesort: ___?


9

Per favore, scusa la terseness del titolo, potrei aver sacrificato la chiarezza sull'altare della concisione.

Si può vedere che l'inserimento di elementi di un array in un albero di ricerca binario e la loro lettura indietro richiedono (all'inserimento) gli stessi confronti dell'esecuzione di Quicksort su quell'array. La sequenza di pivot utilizzata da Quicksort è la sequenza di inserimenti nella struttura di ricerca binaria.

Questo è anche banalmente vero per Heapsort e heap, dal momento che Heapsort sta letteralmente eseguendo una serie di inserimenti e rileggendo gli elementi.

Esiste un analogo di questo nel caso, diciamo, di Mergesort? C'è una connessione più profonda qui o è un'interessante coincidenza tra strutture di dati e algoritmi di ordinamento?


1
Esiste una somiglianza tra MergeSort (adattivo) e l'uso di un albero wavelet, vedi citeseerx.ist.psu.edu/viewdoc/…
Jeremy

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.