Partagez un exemple de didacticiel sur la mise en œuvre du tri par sélection en Python

零下一度
Libérer: 2017-06-19 15:35:44
original
1318 Les gens l'ont consulté

La méthode de sélection

peut également être considérée comme un algorithme de tri d'entrée de gamme. Par rapport à la méthode à bulles, sa méthode est plus intelligente. Son point de départ est de « choisir » à chaque fois la meilleure valeur du tableau . est sélectionné, et remplacez les éléments précédents, puis continuez à sélectionner la valeur la plus élevée des éléments restants et répétez l'opération. Personnellement, je pense que l'importance du tri par sélection ne réside pas dans le tri lui-même, mais dans la méthode de sélection et de remplacement, ce qui est très utile pour certains problèmes.

Tri par sélection :

Le tri par sélection est un algorithme de tri simple et intuitif. Voici comment cela fonctionne. Tout d'abord, recherchez le plus petit (grand) élément de la séquence non triée et stockez-le au début de la séquence triée. Ensuite, continuez à rechercher le plus petit (grand) élément parmi les éléments non triés restants, puis placez-le à la fin de la séquence. séquence triée. Et ainsi de suite jusqu'à ce que tous les éléments soient triés. Le principal avantage du tri par sélection concerne le mouvement des données. Si un élément est dans la bonne position finale, il ne sera pas déplacé. Chaque fois que le tri par sélection échange une paire d'éléments, au moins l'un d'entre eux sera déplacé vers sa position finale, donc le tri d'une liste de n éléments nécessite au plus n-1 échanges. Parmi toutes les méthodes de tri qui reposent entièrement sur l’échange pour déplacer des éléments, le tri par sélection est une très bonne méthode.

Python Implémentation :

 # selection_sort.py
 def selection_sort(arr):
   count = len(arr)
   for i in range(count-1):  # 交换 n-1 次
     min = i
     # 找最小数
     for j in range(i, count):
       if arr[min] > arr[j]:
         min = j
     arr[min], arr[i] = arr[i], arr[min]  # 交换
   return arr
 
 my_list = [6, 23, 2, 54, 12, 6, 8, 100]
 print(selection_sort(my_list))
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal