Maison >développement back-end >Tutoriel Python >Utilisez Python pour apprendre les principes et les scénarios d'application pratiques de l'algorithme de tri par sélection

Utilisez Python pour apprendre les principes et les scénarios d'application pratiques de l'algorithme de tri par sélection

王林
王林original
2024-02-03 08:26:05411parcourir

Utilisez Python pour apprendre les principes et les scénarios dapplication pratiques de lalgorithme de tri par sélection

Apprenez les idées de base et les applications du tri par sélection via Python

Selection Sort est un algorithme de tri simple et intuitif. Son idée de base est de sélectionner le plus petit (ou le plus grand) élément des données à trier. fin de la zone triée, puis sélectionnez l'élément le plus petit (ou le plus grand) parmi les données non triées restantes et placez-le à la fin de la zone triée, et ainsi de suite jusqu'à ce que toutes les données soient triées.

Les étapes spécifiques du tri par sélection sont les suivantes :

  1. Tout d'abord, recherchez l'élément le plus petit (ou le plus grand) des données à trier et échangez sa position avec le premier élément.
  2. Ensuite, recherchez l'élément le plus petit (ou le plus grand) parmi les données non triées restantes et échangez sa position avec le deuxième élément.
  3. Répétez les étapes ci-dessus, en échangeant séquentiellement la valeur minimale (ou maximale) des données restantes non triées avec le dernier élément de la zone triée jusqu'à ce que toutes les données soient triées.

Ce qui suit est un exemple de code utilisant Python pour implémenter le tri par sélection :

def selection_sort(arr):
    n = len(arr)
    for i in range(n-1):
        min_idx = i
        for j in range(i+1, n):
            if arr[j] < arr[min_idx]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i] 

# 测试代码
arr = [64, 25, 12, 22, 11]
selection_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
    print(arr[i], end=" ")

Dans le code ci-dessus, selection_sort函数实现了选择排序算法。在每次循环中,通过min_idx enregistre l'index de la valeur minimale dans la zone non triée actuelle, trouve la valeur minimale dans la zone non triée dans la boucle interne , et l'échange avec L'opération échange sa position avec le dernier élément de la plage triée. Enfin, grâce à plusieurs boucles, l’ensemble du tableau est trié.

Le résultat de sortie du code ci-dessus est :

排序后的数组:
11 12 22 25 64

La complexité temporelle du tri par sélection est O(n^2), il ne convient donc pas aux situations avec de grandes quantités de données. Cependant, la mise en œuvre du tri par sélection est relativement simple et le code est facile à comprendre, il a donc toujours une certaine valeur d'application dans certains scénarios spécifiques.

Grâce aux exemples de code et aux explications ci-dessus, nous avons appris les idées de base et les applications du tri par sélection. J'espère qu'il vous sera utile de comprendre et de maîtriser l'algorithme de tri par sélection.

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