Errorino soluzioni Cormen 3ed?
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?
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)
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?

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
A me sembra corretto.. Che errore vedi in quello pseudocodice?
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].
Sì, è certamente superfluo, ma non è tecnicamente sbagliato e l'effetto sulle performance dell'algoritmo è trascurabile.
Ma la temp?

Ohhh..
Hai ragione! Lo scambio è sbagliato
