voglio capire "bfprt" algoritmo sul seguente esempio:Understanding "bfprt" algoritmo
abbiamo 45 numeri distinti suddivisi in 9 gruppi con 5 elementi ciascuna.
48 43 38 33 28 23 18 13 8
49 44 39 34 29 24 19 14 9
50 45 40 35 30 25 20 15 10
51 46 41 36 31 26 21 16 53
52 47 42 37 32 27 22 17 54
- Il primo passo è l'ordinamento tutti i gruppi (in questo caso sono già ordinati)
Secondo passo in modo ricorsivo, fi trovare la "vera" mediana delle mediane (
50 45 40 35 30 25 20 15 10
) ovvero l'insieme sarà divisi in 2 gruppi:50 25 45 20 40 15 35 10 30
smistamento questi 2 gruppi
30 10 35 15 40 20 45 25 50
mediane è 40 e 15 (nel caso in cui i numeri sono ancora abbiamo preso lasciato mediana) quindi il valore restituito è 15 comunque "vera" bfprt (50 45 40 35 30 25 20 15 10
) è 30, inoltre ci sono 5 elementi meno poi 15 che sono molto meno del 30% di 45 menzionati in wikipedia
e quindi T(n) <= T(n/5) + T(7n/10) + O(n)
falliscono.
A proposito nell'esempio Wikipedia, ottengo risultato di ricorsione come 36. Tuttavia, il vero mediana è 47.
Quindi, penso che in alcuni casi questo ricorsione non può restituire vero bfprt. Voglio capire dov'è il mio errore.
@kaoD: politica della comunità del sito, "Ammetti che la domanda è compito." Vedi: http: //meta.stackexchange.it/a/10812 – Orbling
@kaoD: Niente di sostanzialmente sbagliato nell'invio di una domanda sui compiti a casa, ma influisce sul modo in cui la maggior parte dei membri risponde alla domanda. Quindi dovrebbe essere dichiarato come tale e quali progressi sono stati mostrati. Le risposte sono solitamente tentativi di guida, piuttosto che di risoluzione. – Orbling
@Orbling è rilevante? Qualunque sia la ragione alla base di questa domanda, smnvhn (così come altri) sarà in grado di imparare da una buona risposta. Penso che la domanda di per sé già dimostri che smnvhn ha già riflettuto su questo. Come tale, se questo risulta essere davvero un compito a casa, il poster imparerà di più con qualsiasi commento o risposta. – Joris