Algorithmes de tri Python : tri par bulles et par fusion
Explorez les algorithmes de tri Python. Visualisez le tri par bulles et le tri par fusion de manière native dans un contexte IDE de navigateur.
Aperçu
Le tri est l’une des opérations les plus critiques du génie logiciel. Bien que Python fournisse `.sort()` de manière native en utilisant Timsort, la compréhension des algorithmes de tri fondamentaux est essentielle pour les connaissances en architecture.
Bubble Sort s'appuie sur l'échange de comparaison O(n²) par force brute. Merge Sort s'appuie sur les méthodologies récursives O(n log n) Divide and Conquer.
Sortie de code et d'exécution
Exécution d'un tri à bulles standard pour organiser un tableau par ordre croissant.
def bubble_sort(arr):
n = len(arr)
# Traverse through all array elements
for i in range(n):
swapped = False
# Last i elements are already in place
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
# Swap if the element found is greater
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break
return arr
sample = [64, 34, 25, 12, 22, 11, 90]
print("Original:", sample)
print("Sorted: ", bubble_sort(sample))Original: [64, 34, 25, 12, 22, 11, 90]
Sorted: [11, 12, 22, 25, 34, 64, 90]Mise en œuvre étape par étape
- Nettoyage et organisation du pipeline de données
- Apprentissage de base en informatique
- Optimisation des couches d'affichage des requêtes en interne
Foire aux questions
Quand dois-je écrire ma propre fonction de tri ?
Rarement. Vous apprenez les algorithmes de tri principalement pour comprendre la complexité algorithmique. En production, utilisez toujours le « sorted(data) » intégré à Python car il s'agit d'un code C hautement optimisé.
Sujets connexes
Recherchez des listes triées en temps logarithmique O (log n). Exécutez et comprenez la recherche binaire en Python, y compris la logique étape par étape, les cas extrêmes et les optimisations.
Générateur de séquence Python FibonacciExécutez et comprenez la séquence de Fibonacci en Python. Cet exemple de code interactif montre des approches itératives et récursives pour générer des nombres de Fibonacci.