Ce cours couvre les techniques de conception d'algorithmes de base telles que la division et la conquête, la programmation dynamique et les algorithmes gourmands. Il se termine par une brève introduction à l'intractabilité (NP-complétude) et à l'utilisation de solveurs de programmation linéaire/entière pour résoudre les problèmes d'optimisation. Nous couvrirons également quelques sujets avancés sur les structures de données. Ce cours peut être suivi pour obtenir des crédits académiques dans le cadre des diplômes MS in Data Science ou MS in Computer Science de CU Boulder offerts sur la plate-forme Coursera. Ces diplômes d'études supérieures entièrement accrédités offrent des cours ciblés, des sessions courtes de 8 semaines et des frais de scolarité à la carte. L'admission est basée sur la performance dans trois cours préliminaires, et non sur les antécédents scolaires. Les diplômes CU sur Coursera sont idéaux pour les jeunes diplômés ou les professionnels en activité. Pour en savoir plus :
Programmation dynamique, algorithmes gourmands
Ce cours fait partie de Spécialisation Fondements des structures de données et des algorithmes
Instructeur : Sriram Sankaranarayanan
28 235 déjà inscrits
Inclus avec
(172 avis)
Expérience recommandée
Ce que vous apprendrez
Décrire les techniques de base de la conception d'algorithmes
Créer des algorithmes de division et de conquête, de programmation dynamique et d'avidité
Comprendre les problèmes insolubles, P vs NP et l'utilisation de solveurs de programmation en nombres entiers pour résoudre certains de ces problèmes
Compétences que vous acquerrez
- Catégorie : Conception d'algorithmes
- Catégorie : Programmation en Python
- Catégorie : Conception de la structure des données
- Catégorie : Intractilité
- Catégorie : Analyse des algorithmes
Détails à connaître
Ajouter à votre profil LinkedIn
17 quizzes
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
Obtenez un certificat professionnel
Ajoutez cette qualification à votre profil LinkedIn ou à votre CV
Partagez-le sur les réseaux sociaux et dans votre évaluation de performance
Il y a 4 modules dans ce cours
Nous couvrirons formellement les algorithmes de division et de conquête en tant que schéma de conception et nous examinerons quelques algorithmes de division et de conquête que nous avons rencontrés dans le passé. Nous apprendrons quelques algorithmes de division et de conquête pour la multiplication d'entiers (algorithme de Karatsuba), la multiplication de matrices (algorithme de Strassen), les transformées de Fourier rapides (FFT) et la recherche de la paire de points la plus proche.
Inclus
9 vidéos13 lectures5 quizzes1 devoir de programmation1 sujet de discussion
Dans ce module, vous découvrirez la programmation dynamique comme principe de conception des algorithmes. Nous vous fournirons une approche étape par étape pour formuler un problème en tant que programme dynamique et pour résoudre ces problèmes en utilisant la mémorisation. Nous couvrirons la programmation dynamique pour trouver les plus longues sous-séquences communes, le problème du Knapsack et quelques applications intéressantes de la programmation dynamique.
Inclus
6 vidéos6 lectures5 quizzes1 devoir de programmation
Dans ce module, nous allons nous familiariser avec les algorithmes gourmands. Nous comprendrons les principes de base de la conception des algorithmes gourmands et nous découvrirons quelques algorithmes pour l'ordonnancement gourmand et les codes de Huffman. Nous apprendrons également quelques cas intéressants où la gourmandise fournit une approximation garantie de la solution réelle.
Inclus
5 vidéos4 lectures3 quizzes1 devoir de programmation
P vs NP, exemples tels que le problème du voyageur de commerce, le recouvrement de sommet, le coloriage en 3 et autres ; programmation linéaire en nombres entiers et traduction de problèmes en programmation en nombres entiers.
Inclus
9 vidéos5 lectures4 quizzes1 devoir de programmation
Instructeur
Offert par
Recommandé si vous êtes intéressé(e) par Algorithmes
Coursera Project Network
The Chinese University of Hong Kong
Tsinghua University
Préparer un diplôme
Ce site cours fait partie du (des) programme(s) diplômant(s) suivant(s) proposé(s) par University of Colorado Boulder. Si vous êtes admis et que vous vous inscrivez, les cours que vous avez suivis peuvent compter pour l'apprentissage de votre diplôme et vos progrès peuvent être transférés avec vous.¹
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
172 avis
- 5 stars
78,61 %
- 4 stars
14,45 %
- 3 stars
2,89 %
- 2 stars
1,73 %
- 1 star
2,31 %
Affichage de 3 sur 172
Révisé le 5 avr. 2024
Amazing opportunity to learn! A Stanford graduate as a professor, OMG! Super bright!
Révisé le 17 oct. 2024
Instructor's material was really good and was very effective in communicating the complex topics
Révisé le 20 sept. 2021
Excellent. This course covers some difficult topics, but the lectures and homework assignments were superb and made them quite approachable.
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
Un cours cross-listed est proposé dans le cadre de deux ou plusieurs programmes diplômants de CU Boulder sur Coursera. Par exemple, Dynamic Programming, Greedy Algorithms est proposé en tant que CSCA 5414 pour le MS-CS et DTSA 5503 pour le MS-DS.
- Vous ne pouvez pas obtenir de crédits pour plus d'une version d'un cours figurant sur une liste croisée.
- Vous pouvez identifier les cours à liste croisée en consultant le manuel de l'étudiant de votre programme.
- Votre relevé de notes en sera affecté. Les cours figurant sur des listes croisées sont considérés comme équivalents lors de l'évaluation des conditions d'obtention du diplôme. Toutefois, nous vous encourageons à suivre les versions de votre programme de ces cours (lorsqu'ils sont disponibles) afin de vous assurer que votre relevé de notes reflète le nombre important de cours que vous suivez directement dans votre département d'origine. Tous les cours que vous suivez dans le cadre d'un autre programme apparaîtront sur votre relevé de notes avec le préfixe de ce programme (par exemple, DTSA ou CSCA).
- Les programmes peuvent avoir des exigences différentes en matière de notes minimales pour l'admission et l'obtention du diplôme. Par exemple, le MS-DS exige un C ou mieux dans tous les cours pour l'obtention du diplôme (et une MPC de 3,0 pour l'admission), tandis que le MS-CS exige un B ou mieux dans tous les cours d'approfondissement et un C ou mieux dans tous les cours à option pour l'obtention du diplôme (et un B ou mieux dans chaque cours de la voie d'accès pour l'admission). Tous les programmes exigent que les étudiants maintiennent une moyenne pondérée cumulative de 3,0 pour l'admission et l'obtention du diplôme.
Oui. Les cours figurant sur des listes croisées sont considérés comme équivalents lors de l'évaluation des conditions d'obtention du diplôme. Vous pouvez identifier les cours croisés en consultant le manuel de l'étudiant de votre programme.
Vous pouvez mettre à niveau et payer des frais de scolarité pendant toute période d'inscription ouverte pour obtenir des crédits de CU Boulder de niveau supérieur pour << ce cours / ces cours dans cette spécialisation>>. Étant donné que << ce cours est / ces cours sont >> répertoriés à la fois dans les programmes MS in Computer Science et MS in Data Science, vous devrez déterminer quel programme vous souhaitez obtenir le crédit avant de vous mettre à niveau.
Crédit MS in Data Science (MS-DS) : Pour passer à la version de << ce cours / ces cours >> donnant droit à des crédits en science des données (DTSA), utilisez le formulaire d'inscription au MS-DS. Voir comment cela fonctionne.
MS in Computer Science (MS-CS) Credit : Pour passer à la version à crédits en informatique (CSCA) de << ce cours / ces cours >>, utilisez le formulaire d'inscription MS-CS. Voir comment cela fonctionne.
Si vous n'êtes pas sûr du programme qui vous convient le mieux, consultez les sites web des programmes MS-CS et MS-DS, puis contactez datascience@colorado.edu ou mscscoursera-info@colorado.edu si vous avez encore des questions.