Re: [Teoria] Max heap.

Messaggioda axpgn » 03/11/2021, 18:21

Naaaa, lo conosco il sanscrito :-D
axpgn
Cannot live without
Cannot live without
 
Messaggio: 18533 di 40678
Iscritto il: 20/11/2013, 22:03

Re: [Teoria] Max heap.

Messaggioda 3m0o » 03/11/2021, 18:25

Non ti credo, però ho mentito - è vero - non è sanscrito! Questo tipo di parole entrano a far parte del tuo vocabolario quando vivi a stretto contatto con una comunità italofona che fa la stessa cosa tua che è inserita in un posto in cui non si parla italiano :wink:
Perché vedi queste cose in inglese e poi quando stai con gli amici mischi le due lingue.
3m0o
Cannot live without
Cannot live without
 
Messaggio: 2278 di 5335
Iscritto il: 02/01/2018, 15:00

Re: [Teoria] Max heap.

Messaggioda axpgn » 03/11/2021, 19:02

Il problema è che tu ne parli troppe :-D

Avendo lavorato a fianco di informatici per anni, ne avevo imparato parecchie ("mecciare" su tutte :D ) ma "codarlo" mi è del tutto nuovo :-k

Cordialmente, Alex

P.S.: Peraltro è vero, non conosco il sanscrito, vado a orecchio :lol:
axpgn
Cannot live without
Cannot live without
 
Messaggio: 18534 di 40678
Iscritto il: 20/11/2013, 22:03

Re: [Teoria] Max heap.

Messaggioda apatriarca » 03/11/2021, 22:53

A me sembra tu ti stia solo complicando la vita. L'input è già un Max-Heap e l'output è solo un array dimensione \(k\). Estrarre il massimo da un Max-Heap richiede tempo \(\log(n)\) e facendolo \(k\) volte si ottengono tutti gli elementi che devi mettere nel tuo output in ordine inverso. Mi sembra qualcosa come il seguente dovrebbe funzionare:
Codice:
for (int i = 0; i < k; ++i) {
    B[k-i-1] = A[0];
    MaxHeapPop(A);
}
apatriarca
Moderatore
Moderatore
 
Messaggio: 5617 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [Teoria] Max heap.

Messaggioda 3m0o » 04/11/2021, 12:48

Ma così la complessità è \( O(k \log n ) \) e mi dice che idealmente preferisce una complessita \( O(k \log k) \).
3m0o
Cannot live without
Cannot live without
 
Messaggio: 2283 di 5335
Iscritto il: 02/01/2018, 15:00

Re: [Teoria] Max heap.

Messaggioda apatriarca » 04/11/2021, 22:09

Credo sia allora effettivamente necessario un max-heap di appoggio, mantenendo invariato \(A\). L'idea che avevi avuto mi sembra insomma quella corretta.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5619 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Precedente

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite