..
Et chiffer er en sekvens av typen operasjoner som tildeler prioritere en bestilling av elementer i et sett rekkefølge i henhold til en rapport.
Disse linjene vil bli utsatt for den vanligste (med un'approccio sterkt orientert samples) og hver vil bli kommentert på meritter og defekter.
For enkelhet i eksemplene vil alltid bli brukt som et sett av naturlige tall og forholdet av ordre som for de fleste, er algoritmer fortsatt utsatt universelt gyldig, netto etter en kort arbeidet med å tilpasse koden.
Utvalg sort
For å bestille et sett nummer én før og intuisjon kan skannes så mange ganger som bærer sin helhet, med hvert trinn søke etter den laveste verdien og legge den til de bestilte sekvens, først identifisert med en annen transportør;
Eksempel: {5,1,3,8,2}
Step # 1 -> {1, X, X, X, X}
Step # 2 -> {1.2, X, X, X}
Step # 3 -> {1,2,3, X, X}
Step # 4 -> {1,2,3,5, X}
Step # 5 -> {1,2,3,5,8}
(X er merket med en plassering av den nye transportøren har ennå ikke skrevet)
Fra synspunkt av plass i minnet, er denne algoritmen brukt på denne måten svært uheldig siden det første settet er kopiert til et annet. Et enkelt triks er å erstatte korrigerende kopieringen med utveksling av minimumsverdien nettopp funnet den første elementet som ikke er en del av den delen av tallene som allerede er bestilt.
Eksempel: {5,1,3,8,2}
Step # 1 -> {1,5,3,8,2}
Step # 2 -> {1,2,3,8,5}
Step # 2 -> {1,2,3,8,5}
Step # 3 -> {1,2,3,5,8}
Den chiffer endres Utvalg Sorter, som følger en mulig implementering:
sel_sort (int * v, int størrelse)
{
int i = 0, temp = 0, y = 0, j = 0;
for (i = 0, i = j -)
{
{
temp = v [j];
y = j;
}
swap (v, i, y) / / Swap stillingene i vektor v iey
}
}
Den doble Loop er anbrakt antar at antallet sammenligninger gjort av denne algoritmen er av en firkantet enn antall elementer.
Det Utvalg Sortering er også en stabil algoritme.
En stabil algoritme bevarer effekten av tidligere bestillinger i tilfelle av datastrukturer er behandlet i flere nøkler, slik som Fullt Navn:
1. Charles Grønn 2. Andrea Rossi 3. Mario Rossi 4. Luciano BianchiVi orden feltene for fornavn:
1. Andrea Rossi 2. Charles Grønn 3. Mario Rossi 4. Luciano BianchiNå har vi rekkefølge etter etternavn, vil en mer stabil algoritme bevare forrang av ditt opprinnelige, eller, i tilfelle av stemmelikhet mellom tastene på hvor du bestiller, er plasseringen av den første for å kunne fastslå den endelige plasseringen.
1. Luciano Bianchi 2. Andrea Rossi 3. Mario Rossi 4. Charles GrønnEn stabil algoritme vil sikre at i dette tilfellet alltid forut Mario Rossi Andrea Rossi. Man trenger ikke en stabil oppførsel er ikke forutsigbar, så dette kan bli reversert posisjoner 2 og 3.
Valget sort er også på stedet.
En algoritme er sagt på stedet (eller på plass) hvis det ikke tar en ekstra minne plass enn den opprinnelige databasen, eller det er en liten konstant mengde.
| |
ASP og Access (Ebook)
Administrerende en MS Access database med ASP. At kun 29 €. |
| |
Flash MX og ActionScript (Course)
Bli en utvikler av nettsteder fra 29 €. |
| |
HTML (Course)
Kodespråket for Web fra 29 €. |