..
Un chiffre est une séquence d'opérations de tri qui attribue la priorité à un ordre des éléments dans un ordre établi selon un rapport.
Ces lignes seront exposées les plus communs (avec des échantillons un'approccio fortement orienté) et chacun sera commenté sur le fond et les défauts.
Pour plus de simplicité dans les exemples seront toujours utilisées comme un ensemble de nombres naturels et la relation d'ordre que celui de la majorité, les algorithmes sont encore exposés universellement valable, déduction faite d'une œuvre courte de l'adaptation du code.
Tri de sélection
Pour commander un nombre à un jeu avant et l'intuition peuvent être numérisés autant de fois que le transporteur son intégralité, à chaque étape de recherche pour la valeur minimale et l'ajouter à la séquence ordonnée, initialement identifiée avec un deuxième transporteur;
Exemple: {5,1,3,8,2}
Étape # 1 -> {1, X, X, X, X}
Étape # 2 -> {1.2, X, X, X}
Étape # 3 -> {1,2,3, X, X}
Étape # 4 -> {1,2,3,5, X}
Étape # 5 -> {1,2,3,5,8}
(X est marqué d'un emplacement de la nouvelle compagnie n'a pas encore écrit)
Du point de vue de l'espace dans la mémoire, cet algorithme appliquée de cette façon est très pénalisant puisque l'ensemble initial est copié à l'autre. Un truc simple est de remplacer l'opération de copie correctives à l'échange de la valeur minimale juste trouvé le premier élément qui ne fait pas partie du sous-ensemble des numéros déjà commandé.
Exemple: {5,1,3,8,2}
Étape # 1 -> {1,5,3,8,2}
Étape # 2 -> {1,2,3,8,5}
Étape # 2 -> {1,2,3,8,5}
Étape # 3 -> {1,2,3,5,8}
Le chiffrement est modifié Trier sélection, qui suit une éventuelle mise en œuvre:
sel_sort (int * v, int size)
{
int i = 0, temp = 0, y = 0, j = 0;
for (i = 0, i = j -)
{
{
temp = v [j];
y = j;
}
swap (v, i, y) / / changer la position dans le vecteur v Îëÿ
}
}
La double boucle est niché deviner que le nombre de comparaisons effectuées par cet algorithme est d'un carré que le nombre d'éléments.
La sélection Trier est aussi un algorithme stable.
Un algorithme stable préserve l'effet des commandes précédentes dans le cas de structures de données sont traités dans plusieurs clés, tels que Nom complet:
1. Charles Green 2. Andrea Rossi 3. Mario Rossi 4. Luciano BianchiNous commandons les champs pour le prénom:
1. Andrea Rossi 2. Charles Green 3. Mario Rossi 4. Luciano BianchiMaintenant que nous commandons par nom de famille, un algorithme plus stable permettra de préserver la priorité de vos initiales, ou, dans le cas d'une égalité entre les touches sur lesquelles vous commandez, c'est la position de premier ordre pour déterminer l'emplacement final.
1. Luciano Bianchi 2. Andrea Rossi 3. Mario Rossi 4. Charles GreenUn algorithme stable, fera en sorte que dans ce cas, précède toujours Mario Rossi Andrea Rossi. On ne dispose pas d'un comportement stable, n'est pas prévisible, donc cela pourrait être inversé les positions 2 et 3.
Le tri de sélection est également sur place.
Un algorithme est dit sur le spot (ou même à la place) si elle ne prend pas un espace mémoire supplémentaire à la base de données d'origine, ou il s'agit d'une petite quantité constante.
| |
ASP.NET (Cours)
Cours complet pour construire des applications Web à partir de 49 €. |
| |
PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €. |
| |
VB.NET (Cours)
Faire des applications de bureau avec Visual Basic .. A partir de 49 €. |