À propos de Python intégré dans la méthode sort()
Ce que l'algorithme est construit dans le sort()
méthode en Python à l'aide? Est-il possible d'avoir un oeil sur le code de cette méthode?
- Bien sûr, il est possible de regarder le code de la méthode - Python est un projet open-source. La méthode est sans doute implémenté en C, cependant, de sorte que vous aurez à en savoir un peu sur C pour faire tout le sens de l'il.
- La version de la matière?
- Pas =) je veux juste avoir un coup d'oeil à un pro de l'algorithme 😛 @chris: comment?
- Téléchargez le code source de l'interpréteur Python. Je ne sais pas où ils mettent en œuvre les
sort()
méthode, ou de ce que la mise en forme de l'interprète est, mais ça doit être là quelque part, et je parie que c'est implémenté en C pour la vitesse préoccupations. - Ici est un exemple de son utilisation
Vous devez vous connecter pour publier un commentaire.
Sûr! Le code du ici, en commençant avec la fonction
islt
et de la procédure pour un bon moment;-). Comme Chris commentaire suggère, c'est du code C. Vous voudrez également lire cette fichier texte pour une explication textuelle, les résultats, etc etc.Si vous préférez la lecture de code Java que du code C, on peut le voir Joshua Bloch de mise en œuvre de timsort et pour Java (Josué est aussi le gars qui a mis en place, en 1997, la modification de mergesort qui est encore utilisé en Java, et on peut espérer que Java va finalement passer à son récent port de timsort).
Quelques explications de la Java port de timsort est ici, la diff est ici (avec des liens vers tous les fichiers nécessaires), le fichier de clé est ici -- FWIW, alors que je suis un meilleur programmeur C que programmeur Java, dans ce cas, je trouve Joshua Java code plus lisible que Tim C code;-).
list_ass_item()
n'. 🙂listsort.txt
ajoute quelques notes portant sur les confusions.Je voulais juste fournir un lien très utile que j'ai raté dans Alex autrement réponse complète: Un haut niveau de l'explication de Python timsort (avec graphique visualisations!).
(Oui, l'algorithme est essentiellement connu comme Timsort maintenant)
Au début de python-versions, la fonction de tri mis en place une version modifiée de quicksort.
Cependant, il a été jugé instable et que de 2,3 ils sont passés à l'aide d'une adaptation mergesort algorithme.
j'ai entendu le timsort est le meilleur de tri algorithum car il fonctionne sur les deux de tri qui a deux avantages, l'un a un faible taux constant et d'autres est le plus rapide efficeincy
ils sont les binaires d'insertion tri et la fusion de tri.