03/05/07 14:51
lorelapo
Qualc'uno sa come posso pubblicarlo in senso ufficiale perchè il mondo sappia che forse lo ho inventato io ?
aaa
03/05/07 16:42
lorelapo
Che facciata, è solo una banale ottimizzazione del Selection Sort, solo che la mia sconoscenza di questo non mi ci ha fatto pensare, cmq non ho trovato una sua implementazione, anche se il procedimento è alquanto banale.
void SWAP(a,b)
aus->a;
a->b;
b->aus;
END SWAP
void ORDINA(vet[], inizio, fine)
if(inizio>=fine) RETURN;#asserzione per finire la
#ricorsione
i; #contatore
min->inizio; #indicizza l'elemento minimo
max->fine;#indicizza il massimo
#trovo il massimo ed il minimo
for i->inizio; i<fine; i++
if(vet]i]>vet[max])max=i;
else if(vet]i]<vet[min])min=i;
end for
#sposto il minimo all' inizio
SWAP(@vet[min],@vet[inizio]);
if(max!=inizio)#se non lo ho già fatto
#involontariamente
SWAP(@vet[max],@vet[fine]);#sposto in fondo il
#massimo
ORDINA(vet,inizio+1,fine-1);#faccio lo stesso con
#la sottosequenza
RETURN;
END ORDINA
Scusate, non sapete che rabbia quando lo ho scoperto.
Ultima modifica effettuata da lorelapo 03/05/07 17:04
aaa
03/05/07 16:56
cH!cus
vabeh se come dici te è un ottimizzazione il risultato nn è da buttar via, magari sei un po afflitto dal fatto che pensavi di aver trovato un nuovo algoritmo.
aaa
03/05/07 16:59
lorelapo
Un pò è un eufemismo, non è la prima volta che mi succede, ma le altre volte ero stato più prudente, il mio problema è che non approfondisco mai se non da solo, così divento come Erastotene un beta, affronto tanti campi, ma in nessuno sono il migliore. Vabbè fatemi sapere se non ho reinventato anche qualcos'altro.
Ultima modifica effettuata da lorelapo 03/05/07 17:44
aaa
03/05/07 17:45
lorelapo
Citando Ozmosis
"MI sono perso la riga dove dico che sono Dio"
Comunque non credo che sia una novità neanche come ottimizzazione.
Ultima modifica effettuata da lorelapo 03/05/07 17:46
aaa