|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2007
Messaggi: 316
|
Ordimanto array grosse dimensioni non intero
Ciao avrei bisogno di un consiglio, devo ordinare 2 array(interi) di grosse dimensioni in ordine decrescente ad esempio >50000 in base al loro rapporto A/B, quale algoritmo di consigliate?
il Bucket sort può essere adattato per valori non interi? http://it.wikipedia.org/wiki/Bucket_sort |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Perugia - San Benedetto del Tronto
Messaggi: 348
|
Puoi spiegare meglio con un esempio pratico?
Così cerchiamo di trovare la soluzione migliore. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2007
Messaggi: 316
|
Ho 2 array molto grandi:
int a[50000] int b[50000] e devono essere ordinati in ordine decrescente in base al rapporto a[i]/b[i] ad esempio a={15 11 30 36} b={ 6 5 9 12} 15/6=2,5 11/5=2,2 30/9=3,3 36/12=3 per cui l'ordinamento finale: a={30 36 15 11} b={ 9 12 6 5} |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2008
Messaggi: 485
|
per quanto ricordo dal corso di algoritmi il bucket sort richiede una distribuzione uniforme dei valori (confermato anche dalla pagina di wikipedia).
Cosi su due piedi non mi vengono molte idee. Potresti creare una funzione di hash basata sul valore del rapporto, gestendo opportunamente le collisioni, ottenendo cosi la posizione nell'array in tempo lineare (anche se più che un array ordinato ti converrebbe usare una lista ordinata) Ultima modifica di Dânêl : 05-12-2010 alle 14:13. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2781
|
Quicksort?
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2007
Messaggi: 316
|
Avevo provato con un mergesort che come il quick sort ha coplessità media Θ(nlogn). Visto però le grosse dimensioni sarebbe ottimo adattare un algoritmo con complessità Θ(n+k)
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2008
Messaggi: 533
|
■
Ultima modifica di rеpne scasb : 18-06-2012 alle 17:13. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
in PHP il tuo problema si puo risolvere cosi:
Codice PHP:
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:23.



















