Implémentation de l'algorithme «Algorithm Picture Book» en Python3 (tri sélectif)

À propos de cet article

Dans cet article, je voudrais présenter un exemple d'implémentation en Python 3 sur l'algorithme que j'ai appris en lisant "Algorithm Picture Book". L'algorithme cette fois est le tri sélectif. L'écrivain est un amateur. J'apprécierais que vous me disiez diverses choses.

Je ne suis pas familier avec Python2, mais je sais seulement que j'utilise Python3 (Est-ce Python3.6.0?). Par conséquent, le titre de l'article est Python3.

À propos du tri sélectif

Je n'expliquerai que brièvement le problème et l'approche.

problème

Renvoie les colonnes triées par ordre croissant pour un nombre donné de colonnes. Exemple:  4, 3, 1, 2 → 1, 2, 3, 4

approche

Déterminez les valeurs dans l'ordre depuis le début. Trouvez la valeur minimale à partir du nombre indéterminé et amenez-la au premier plan (premier côté) en échangeant. Pour plus de détails, reportez-vous à "Algorithm Picture Book".

Exemple: Notation des nombres fixes entre []  4, 3, 1, 2 → [1], 3, 4, 2 → [1], [2], 4, 3 → [1], [2], [3], 4

Code d'implémentation et résultat d'exécution

Le code implémenté est illustré ci-dessous. La liste qui est initialement affectée aux données variables est la colonne numérique à traiter. De plus, je l'ai implémenté sans utiliser min dans la liste.

code

selection_sort.py


data = [4, 3, 1, 2]
print("input    :" + str(data))

data_len = len(data)

for k in range(0, data_len - 1):
    min_index = k
    min_data = data[k]
    for i in range(k + 1, data_len):
        if data[i] < min_data:
            min_index = i
            min_data = data[i]
        else:
            pass
    data[min_index] = data[k]
    data[k] = min_data

print("output   :" + str(data))

Résultat d'exécution

python


$ python selection_sort.py 
input    :[4, 3, 1, 2]
output   :[1, 2, 3, 4]

À la fin

Je l'ai posté pour la première fois comme pratique pour poster le code que j'ai écrit. Si vous avez des questions, veuillez les signaler et poser des questions. Surtout s'il y a des améliorations dans la façon d'écrire le code, je pense que cela sera utile pour étudier.

Recommended Posts

Implémentation de l'algorithme «Algorithm Picture Book» en Python3 (tri sélectif)
Implémentation de l'algorithme de "Algorithm Picture Book" en Python3 (Bubble Sort)
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Trier en Python. Pensons ensuite à l'algorithme.
Algorithme de structure de données de livre d'images Python
Vérifiez le comportement du destroyer en Python
Livre Ali en python: méthode Dyxtra Sec.2-5
Le résultat de l'installation de python sur Anaconda
Principes de base pour exécuter NoxPlayer en Python
À la recherche du FizzBuzz le plus rapide en Python
Quel genre de livre est le "Python Crash Course" le plus vendu au monde?
Sortie du nombre de cœurs de processeur en Python
Récupérer l'appelant d'une fonction en Python
Faites correspondre la distribution de chaque groupe en Python
Afficher le résultat du traitement de la géométrie en Python
Copiez la liste en Python
Trouvez la solution de l'équation d'ordre n avec python
L'histoire de la lecture des données HSPICE en Python
[Note] À propos du rôle du trait de soulignement "_" en Python
Résolution d'équations de mouvement en Python (odeint)
Sortie sous la forme d'un tableau python
J'ai essayé d'implémenter la fonction gamma inverse en python
J'ai essayé d'implémenter le tri sélectif en python
[Examen d'ingénieur d'information de base] J'ai écrit l'algorithme de la méthode de division mutuelle euclidienne en Python.
Tri à bulles en Python
Implémentation de SimRank en Python
Algorithme génétique en python
Algorithme en Python (méthode Bellman-Ford, Bellman-Ford)
Tri personnalisé en Python3
Implémentation de Shiritori en Python
Algorithme en Python (Dijkstra)
Découvrez la bonne efficacité de calcul de la vectorisation en Python
Informations de base Écrire le problème d'algorithme de l'automne 2018 en Python
[python] Récupère la liste des classes définies dans le module
Ruby, exécution de fragments de code Python de la sélection dans Emacs
L'histoire de FileNotFound en Python open () mode = 'w'
Implémenter la solution de l'algèbre de Riccati en Python
Obtenir la taille (nombre d'éléments) de Union Find en Python
Ne pas être conscient du contenu des données en python
Reproduire l'exemple d'exécution du chapitre 4 de Hajipata en Python
Utilisons les données ouvertes de "Mamebus" en Python
[Python] Affiche toutes les combinaisons d'éléments de la liste
Obtenez l'URL de la destination de la redirection HTTP en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
Reproduire l'exemple d'exécution du chapitre 5 de Hajipata en Python
Pour faire l'équivalent de Ruby ObjectSpace._id2ref en Python
Vérifiez la nature atrophique de la distribution de probabilité en Python
Trier la liste des tuples en Python en spécifiant l'ordre croissant / décroissant de plusieurs clés
Essayez de gratter les données COVID-19 Tokyo avec Python
Découvrez la largeur apparente d'une chaîne en python
Vers la retraite de Python2
Mesurons le résultat de l'exécution du programme avec C ++, Java, Python.
Vérifiez le fonctionnement de Python pour .NET dans chaque environnement
[Mémo] Le mystère des instructions d'affectation cumulative dans les fonctions Python
Trouver des erreurs en Python
Algorithme en Python (jugement premier)
Trier naturellement le chemin en Python
Le résultat de l'apprentissage automatique des ingénieurs Java avec Python www