Offrez à votre carrière le cadeau de Coursera Plus avec $160 de réduction, facturé annuellement. Économisez aujourd’hui.

University of California San Diego

Algorithmic Toolbox

Neil Rhodes
Daniel M Kane
Michael Levin

Instructeurs : Neil Rhodes

535 283 déjà inscrits

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
4.6

(12,460 avis)

niveau Intermédiaire
Certaines connaissances prérequises
Planning flexible
Env. 40 heures
Apprenez à votre propre rythme
91%
La plupart des apprenants ont aimé ce cours
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
4.6

(12,460 avis)

niveau Intermédiaire
Certaines connaissances prérequises
Planning flexible
Env. 40 heures
Apprenez à votre propre rythme
91%
La plupart des apprenants ont aimé ce cours

Ce que vous apprendrez

  • Essential algorithmic techniques

  • Design efficient algorithms

  • Practice solving algorithmic interview problems

  • Implement efficient and reliable solutions

Compétences que vous acquerrez

  • Catégorie : Software Testing
  • Catégorie : Computer Programming
  • Catégorie : Algorithms
  • Catégorie : Debugging
  • Catégorie : Dynamic Programming

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Évaluations

25 devoirs

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Emplacement réservé

Élaborez votre expertise du sujet

Ce cours fait partie de la Spécialisation Data Structures and Algorithms
Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
  • 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
Emplacement réservé
Emplacement réservé

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

Emplacement réservé

Il y a 6 modules dans ce cours

Welcome to the first module of Data Structures and Algorithms! Here we will provide an overview of where algorithms and data structures are used (hint: everywhere) and walk you through a few sample programming challenges. The programming challenges represent an important (and often the most difficult!) part of this specialization because the only way to fully understand an algorithm is to implement it. Writing correct and efficient programs is hard; please don’t be surprised if they don’t work as you planned—our first programs did not work either! We will help you on your journey through the specialization by showing how to implement your first programming challenges. We will also introduce testing techniques that will help increase your chances of passing assignments on your first attempt. In case your program does not work as intended, we will show how to fix it, even if you don’t yet know which test your implementation is failing on.

Inclus

6 vidéos8 lectures1 devoir2 devoirs de programmation

In this module you will learn that programs based on efficient algorithms can solve the same problem billions of times faster than programs based on naïve algorithms. You will learn how to estimate the running time and memory of an algorithm without even implementing it. Armed with this knowledge, you will be able to compare various algorithms, select the most efficient ones, and finally implement them as our programming challenges!

Inclus

12 vidéos4 lectures3 devoirs1 devoir de programmation1 laboratoire non noté

In this module you will learn about seemingly naïve yet powerful class of algorithms called greedy algorithms. After you will learn the key idea behind the greedy algorithms, you may feel that they represent the algorithmic Swiss army knife that can be applied to solve nearly all programming challenges in this course. But be warned: with a few exceptions that we will cover, this intuitive idea rarely works in practice! For this reason, it is important to prove that a greedy algorithm always produces an optimal solution before using this algorithm. In the end of this module, we will test your intuition and taste for greedy algorithms by offering several programming challenges.

Inclus

10 vidéos9 lectures5 devoirs1 devoir de programmation

In this module you will learn about a powerful algorithmic technique called Divide and Conquer. Based on this technique, you will see how to search huge databases millions of times faster than using naïve linear search. You will even learn that the standard way to multiply numbers (that you learned in the grade school) is far from the being the fastest! We will then apply the divide-and-conquer technique to design two efficient algorithms (merge sort and quick sort) for sorting huge lists, a problem that finds many applications in practice. Finally, we will show that these two algorithms are optimal, that is, no algorithm can sort faster!

Inclus

20 vidéos5 lectures8 devoirs1 devoir de programmation

In this final module of the course you will learn about the powerful algorithmic technique for solving many optimization problems called Dynamic Programming. It turned out that dynamic programming can solve many problems that evade all attempts to solve them using greedy or divide-and-conquer strategy. There are countless applications of dynamic programming in practice: from maximizing the advertisement revenue of a TV station, to search for similar Internet pages, to gene finding (the problem where biologists need to find the minimum number of mutations to transform one gene into another). You will learn how the same idea helps to automatically make spelling corrections and to show the differences between two versions of the same text.

Inclus

4 vidéos2 lectures6 devoirs1 devoir de programmation

In this module, we continue practicing implementing dynamic programming solutions.

Inclus

8 vidéos2 lectures2 devoirs1 devoir de programmation

Instructeurs

Évaluations de l’enseignant
4.4 (2,201 évaluations)
Neil Rhodes
University of California San Diego
7 Cours705 901 apprenants
Daniel M Kane
University of California San Diego
5 Cours688 279 apprenants
Michael Levin
University of California San Diego
7 Cours726 643 apprenants

Offert par

Recommandé si vous êtes intéressé(e) par Algorithms

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Avis des étudiants

Affichage de 3 sur 12460

4.6

12 460 avis

  • 5 stars

    71,86 %

  • 4 stars

    21,48 %

  • 3 stars

    4,20 %

  • 2 stars

    1,04 %

  • 1 star

    1,40 %

HG
5

Révisé le 2 juil. 2020

MM
5

Révisé le 28 sept. 2017

GS
5

Révisé le 31 oct. 2020

Emplacement réservé

Ouvrez de nouvelles portes avec Coursera Plus

Accès illimité à plus de 7 000 cours de renommée internationale, à des projets pratiques et à des programmes de certificats reconnus sur le marché du travail, 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