Ce cours en ligne couvre les techniques algorithmiques de base et les idées pour les problèmes de calcul apparaissant fréquemment dans les applications pratiques : tri et recherche, diviser pour régner, algorithmes gourmands, programmation dynamique. Nous apprendrons beaucoup de théorie : comment trier les données et comment cela aide à la recherche ; comment diviser un gros problème en morceaux et les résoudre de manière récursive ; quand il est judicieux de procéder avec avidité ; comment la programmation dynamique est utilisée dans les études génomiques. Vous vous entraînerez à résoudre des problèmes informatiques, à concevoir de nouveaux algorithmes et à mettre en œuvre des solutions de manière efficace (afin qu'elles s'exécutent en moins d'une seconde).

Découvrez de nouvelles compétences avec 120 $ de réduction sur les cours dispensés par des experts de l'industrie. Économisez maintenant.


Boîte à outils algorithmique
Ce cours fait partie de Spécialisation Structures de données et algorithmes



Instructeurs : Neil Rhodes
561 196 déjà inscrits
Inclus avec
(12,540 avis)
Ce que vous apprendrez
Techniques algorithmiques essentielles
Concevoir des algorithmes efficaces
Entraînez-vous à résoudre des problèmes algorithmiques d'entretien
Mettre en œuvre des solutions efficaces et fiables
Compétences que vous acquerrez
- Catégorie : Science Informatique Théorique
- Catégorie : Bioinformatique
- Catégorie : Pensée informatique
- Catégorie : Tests de développement
- Catégorie : Débogage
- Catégorie : Stratégies de conception
- Catégorie : Cas de test
- Catégorie : Ingénierie d'essai
- Catégorie : Programmation Informatique
- Catégorie : Développement du programme
- Catégorie : Principes de programmation
- Catégorie : Test de logiciels
- Catégorie : Algorithmes
- Catégorie : structures de données
Détails à connaître

Ajouter à votre profil LinkedIn
25 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Élaborez votre expertise du sujet
- Apprenez de nouveaux concepts auprès d'experts du secteur
- Acquérez une compréhension de base d'un sujet ou d'un outil
- Développez des compétences professionnelles avec des projets pratiques
- Obtenez un certificat professionnel partageable

Il y a 6 modules dans ce cours
Bienvenue dans le premier module de Structures de données et algorithmes ! Nous allons vous donner un aperçu des domaines dans lesquels les algorithmes et les structures de données sont utilisés (indice : partout) et vous guider à travers quelques exemples de défis de programmation. Les défis de programmation représentent une partie importante (et souvent la plus difficile !) de cette spécialisation car la seule façon de comprendre pleinement un algorithme est de l'implémenter. Il est difficile d'écrire des programmes corrects et efficaces ; ne soyez pas surpris s'ils ne fonctionnent pas comme vous l'aviez prévu - nos premiers programmes n'ont pas fonctionné non plus ! Nous vous aiderons tout au long de votre parcours dans la Specializations en vous montrant comment mettre en œuvre vos premiers défis de programmation. Nous vous présenterons également des techniques de test qui vous aideront à augmenter vos chances de réussir vos travaux du premier coup. Si votre programme ne fonctionne pas comme prévu, nous vous montrerons comment le corriger, même si vous ne savez pas encore sur quel test votre implémentation échoue.
Inclus
6 vidéos8 lectures1 devoir2 devoirs de programmation
Dans ce module, vous apprendrez que les programmes basés sur des algorithmes efficaces peuvent résoudre le même problème des milliards de fois plus rapidement que les programmes basés sur des algorithmes naïfs. Vous apprendrez à estimer le temps d'exécution et la mémoire d'un algorithme sans même l'implémenter. Armé de ces connaissances, vous serez en mesure de comparer différents algorithmes, de sélectionner les plus efficaces et enfin de les mettre en œuvre dans le cadre de nos défis de programmation !
Inclus
12 vidéos4 lectures3 devoirs1 devoir de programmation1 laboratoire non noté
Dans ce module, vous découvrirez une classe d'algorithmes apparemment naïfs mais puissants, les algorithmes gourmands. Après avoir appris l'idée clé qui sous-tend les algorithmes gourmands, vous aurez peut-être l'impression qu'ils représentent le couteau suisse algorithmique qui peut être appliqué pour résoudre presque tous les défis de programmation de ce cours. Mais attention : à quelques exceptions près, cette idée intuitive fonctionne rarement dans la pratique ! Pour cette raison, il est important de prouver qu'un algorithme gourmand produit toujours une solution optimale avant d'utiliser cet algorithme. À la fin de ce module, nous testerons votre intuition et votre goût pour les algorithmes gourmands en vous proposant plusieurs défis de programmation.
Inclus
10 vidéos9 lectures5 devoirs1 devoir de programmation
Dans ce module, vous découvrirez une technique algorithmique puissante appelée "diviser pour régner". Grâce à cette technique, vous verrez comment effectuer des recherches dans d'énormes bases de données des millions de fois plus rapidement qu'en utilisant la recherche linéaire naïve. Vous apprendrez même que la méthode standard de multiplication des nombres (que vous avez apprise à l'école primaire) est loin d'être la plus rapide ! Nous appliquerons ensuite la technique "diviser pour régner" pour concevoir deux algorithmes efficaces (merge sort et quick sort) pour trier d'énormes listes, un problème qui trouve de nombreuses applications dans la pratique. Enfin, nous montrerons que ces deux algorithmes sont optimaux, c'est-à-dire qu'aucun algorithme ne peut trier plus rapidement !
Inclus
20 vidéos5 lectures8 devoirs1 devoir de programmation
Dans ce dernier module du cours, vous découvrirez une technique algorithmique puissante permettant de résoudre de nombreux problèmes d'optimisation, la programmation dynamique. Il s'est avéré que la programmation dynamique peut résoudre de nombreux problèmes qui échappent à toutes les tentatives de résolution à l'aide de la stratégie de l'avidité ou de la division et de la conquête. Il existe d'innombrables applications pratiques de la programmation dynamique : de la maximisation des recettes publicitaires d'une chaîne de télévision à la recherche de pages Internet similaires, en passant par la recherche de gènes (le problème où les biologistes doivent trouver le nombre minimum de mutations pour transformer un gène en un autre). Vous apprendrez comment la même idée permet d'effectuer automatiquement des corrections orthographiques et de montrer les différences entre deux versions d'un même texte.
Inclus
4 vidéos2 lectures6 devoirs1 devoir de programmation
Dans ce module, nous continuons à nous entraîner à la mise en œuvre de solutions de programmation dynamique.
Inclus
8 vidéos2 lectures2 devoirs1 devoir de programmation
Obtenez un certificat professionnel
Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.
Instructeurs



Offert par
En savoir plus sur Algorithmes
- Statut : Essai gratuit
Rice University
- Statut : Essai gratuit
Stanford University
- Statut : Prévisualisation
Coursera Instructor Network
- Statut : Prévisualisation
Clemson University
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?




Avis des étudiants
12 540 avis
- 5 stars
71,83 %
- 4 stars
21,44 %
- 3 stars
4,20 %
- 2 stars
1,05 %
- 1 star
1,46 %
Affichage de 3 sur 12540
Révisé le 14 août 2020
Great Course. This series is great but sometimes you will get frustrated because of the questions as it is not easy, make sure to give those a time. Great satisfaction after solving them though
Révisé le 5 août 2019
Thanks for the course, it was instructive! I like that some problems require implementing algorithms discussed in lectures, while others are quite challenging and are very satisfying to solve :)
Révisé le 31 oct. 2020
Very good course, all the problems are well designed to test your critical thinking skills and there's pretty good and detailed conceptual stuff but not more than needed to make you nearly a pro.

Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
Pour accéder aux supports de cours, aux devoirs et pour obtenir un certificat, vous devez acheter l'expérience de certificat lorsque vous vous inscrivez à un cours. Vous pouvez essayer un essai gratuit ou demander une aide financière. Le cours peut proposer l'option "Cours complet, pas de certificat". Cette option vous permet de consulter tous les supports de cours, de soumettre les évaluations requises et d'obtenir une note finale. Cela signifie également que vous ne pourrez pas acheter un certificat d'expérience.
Lorsque vous vous inscrivez au cours, vous avez accès à tous les cours de la spécialisation et vous obtenez un certificat lorsque vous terminez le travail. Votre certificat électronique sera ajouté à votre page Réalisations - de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn.
Si vous vous êtes abonné, vous bénéficiez d'une période d'essai sans frais de 7 jours pendant laquelle vous pouvez annuler votre abonnement sans pénalité. Après cette période, nous n'effectuons pas de remboursements, mais vous pouvez résilier votre abonnement à tout moment. Consultez notre politique de remboursement complète.
Plus de questions
Aide financière disponible,