Come esercizio in Haskell, sto cercando di implementare heapsort. L'heap viene solitamente implementato come una matrice in lingue imperative, ma questo sarebbe estremamente inefficiente nei linguaggi puramente funzionali. Quindi ho esaminato gli heap binari, ma tutto ciò che ho trovato finora li descrive da un punto di vista imperativo e gli algoritmi presentati sono difficili da tradurre in un'impostazione funzionale. Come implementare in modo efficiente un heap in un linguaggio puramente funzionale come Haskell?Heap efficienti in lingue puramente funzionali
Modifica: Per efficienza intendo che dovrebbe essere ancora in O (n * log n), ma non deve battere un programma C. Inoltre, mi piacerebbe usare la programmazione puramente funzionale. Che altro sarebbe il punto di farlo in Haskell?
Grazie, è esattamente quello che stavo cercando. In effetti, ho ordinato il libro 2 giorni fa, ma non ce l'ho ancora. Forse avrei dovuto aspettare. ;) –