Maison >développement back-end >Tutoriel Python >Explication détaillée d'exemples de tri de sélection en Python

Explication détaillée d'exemples de tri de sélection en Python

零下一度
零下一度original
2017-06-25 10:14:291614parcourir

Tri par sélection :

Le tri par sélection (Selection sort) 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.

Implémentation Python :

 1 # selection_sort.py 2 def selection_sort(arr): 3     count = len(arr) 4     for i in range(count-1):    # 交换 n-1 次 5         min = i 6         # 找最小数 7         for j in range(i, count): 8             if arr[min] > arr[j]: 9                 min = j10         arr[min], arr[i] = arr[i], arr[min]    # 交换11     return arr12 13 my_list = [6, 23, 2, 54, 12, 6, 8, 100]14 print(selection_sort(my_list))

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!

Déclaration:
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