Explication des algorithmes - Ce qu'ils sont et les algorithmes de tri courants

Dans sa forme la plus élémentaire, un algorithme est un ensemble d'instructions détaillées étape par étape pour accomplir une tâche. Par exemple, un algorithme pour faire du café dans une presse française serait:

  1. Versez de l'eau dans la bouilloire, fermez le couvercle et allumez-la.
  2. Retirez le couvercle de la presse française et versez 17 grammes de café moulu.
  3. Lorsque l'eau de la bouilloire est bouillante, versez 290 grammes d'eau chaude dans la presse française.
  4. Remettez le couvercle de la presse française avec le piston vers le haut.
  5. Attendez 4 minutes.
  6. Appuyez doucement sur le piston jusqu'à ce qu'il atteigne le fond.
  7. Versez le café dans une tasse.

En informatique, les algorithmes courants portent des noms tels que "Quicksort" et "Bogosort". Les algorithmes sont souvent regroupés en différentes catégories telles que les algorithmes de recherche, de tri et de compression. En outre, les algorithmes peuvent être décrits par l'approche qu'il faut pour accomplir une tâche, telle que récursive, retour en arrière, diviser pour conquérir, cupide et force brute.

Les algorithmes sont souvent associés à des structures de données, bien qu'ils soient fondamentalement différents. Les structures de données sont des méthodes de stockage de données afin qu'un algorithme puisse y effectuer facilement des opérations.

Certains exemples courants de structures de données sont les tableaux, les piles, les files d'attente, les listes liées, les arbres, les graphiques, les tables de hachage et les tas.

Efficacité

Les algorithmes sont souvent jugés et comparés en fonction de leur efficacité et des ressources dont ils ont besoin. L'un des moyens les plus courants d'évaluer un algorithme consiste à examiner sa complexité temporelle à l'aide d'une méthode appelée notation Big O.

La notation Big O est un moyen de décrire la vitesse ou la complexité d'un algorithme et montre le pire des cas d'opérations pour une taille d'entrée donnée. Il est important de comprendre le temps d'exécution possible pour différents algorithmes, en particulier lorsque vous travaillez avec des ensembles de données volumineux ou en croissance. La notation Big O facilite le choix du bon algorithme pour chaque tâche.

Algorithmes de tri

Les algorithmes de tri se déclinent en différentes saveurs selon vos besoins. Certains, très courants et largement utilisés sont:

Tri rapide

Aucune discussion de tri n'est complète sans mentionner le tri rapide.

Tri par fusion

L'algorithme de tri de fusion repose sur la division et le tri de tableaux plus petits avant de les fusionner en un seul tableau trié.

Le programme de freeCodeCamp met fortement l'accent sur la création d'algorithmes. En effet, l'apprentissage des algorithmes est un bon moyen de pratiquer les compétences en programmation. Les intervieweurs testent le plus souvent les candidats sur des algorithmes lors des entretiens d'embauche des développeurs.