Errorino soluzioni Cormen 3ed?

Giova411
Ho trovato delle soluzioni per la terza edizione della "Bibbia" sullo studio di Algoritmi: ossia il Cormen.
Provate a vedere la soluzione dell'esercizio 2.2-2 proposta qui:
http://www.osbertngok.com/docs/clrs_solution.pdf

Selection-Sort

Lo pseudocodice proposto vi sembra esatto? :smt012


Testo dell'esercizio:
Supponete di ordinare n numeri memorizzati nell'array A trovando prima il più piccolo elemento di A e scambiandolo con l'elemento in A[1]; poi, trovate il secondo elemento più piccolo di A e scambiatelo con A[2]. Continuate in questo modo per i primi n-1 elementi di A. Etc Etc
(Sarebbe l'ordinamento per selezione)

Risposte
apatriarca
A me sembra corretto.. Che errore vedi in quello pseudocodice?

hamming_burst
sembra che faccia semplicemente uno swap in più superfluo. come è scritto nel commento al codice.

j= A.length
smallest_index=j

k=j+1 > A.length
salta for

A[j]<->A[smallest_index]
che in questo punto è A[j]<->A[j].

apatriarca
Sì, è certamente superfluo, ma non è tecnicamente sbagliato e l'effetto sulle performance dell'algoritmo è trascurabile.

Giova411
Ma la temp? :oops:

apatriarca
Ohhh.. :) Hai ragione! Lo scambio è sbagliato

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.