Un bon algorithme s'accompagne généralement d'un ensemble de bonnes structures de données qui permettent à l'algorithme de manipuler les données de manière efficace. Dans ce cours en ligne, nous examinons les structures de données communes qui sont utilisées dans divers problèmes de calcul. Vous apprendrez comment ces structures de données sont implémentées dans différents langages de programmation et vous vous entraînerez à les mettre en œuvre dans nos travaux de programmation. Cela vous aidera à comprendre ce qui se passe à l'intérieur d'une implémentation intégrée particulière d'une structure de données et ce que vous pouvez en attendre. Vous apprendrez également les cas d'utilisation typiques de ces structures de données. Quelques exemples de questions que nous allons couvrir dans ce cours sont les suivants : 1. Quelle est la bonne stratégie pour redimensionner un tableau dynamique ? 2. Comment les files d'attente prioritaires sont-elles implémentées en C++, Java et Python ? 3. Comment implémenter une table de hachage pour que le temps d'exécution amorti de toutes les opérations soit en moyenne O(1) ? 4. Quelles sont les bonnes stratégies pour maintenir l'équilibre d'un arbre binaire ?
Offrez à votre carrière le cadeau de Coursera Plus avec $160 de réduction, facturé annuellement. Économisez aujourd’hui.
structures de données
Ce cours fait partie de Spécialisation Structures de données et algorithmes
Instructeurs : Neil Rhodes
285 537 déjà inscrits
Inclus avec
(5,491 avis)
Expérience recommandée
Compétences que vous acquerrez
- Catégorie : File d'attente prioritaire
- Catégorie : Arbre de recherche binaire
- Catégorie : Table de hachage
- Catégorie : Liste
- Catégorie : Pile (Type de données abstraites)
Détails à connaître
Ajouter à votre profil LinkedIn
9 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
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 6 modules dans ce cours
Dans ce module, vous apprendrez à connaître les structures de données de base utilisées dans le reste du cours. Nous commençons ce module en examinant en détail les éléments de base : les tableaux et les listes chaînées. À partir de là, nous construisons deux structures de données importantes : les piles et les files d'attente. Ensuite, nous nous intéresserons aux arbres : exemples d'utilisation en informatique, implémentation et différentes façons de les parcourir. Une fois que vous aurez terminé ce module, vous serez en mesure d'implémenter n'importe laquelle de ces structures de données, et vous aurez une solide compréhension des coûts des opérations, ainsi que des compromis impliqués dans l'utilisation de chaque structure de données.
Inclus
7 vidéos7 lectures1 devoir1 devoir de programmation
Dans ce module, nous abordons les tableaux dynamiques : une façon d'utiliser les tableaux lorsque l'on ne sait pas à l'avance combien d'éléments seront nécessaires. Nous abordons également l'analyse amortie : une méthode permettant de déterminer le coût amorti d'une opération sur une séquence d'opérations. L'analyse amortie est très souvent utilisée pour analyser les performances des algorithmes lorsque l'analyse directe donne des résultats insatisfaisants, mais l'analyse amortie permet de montrer que l'algorithme est réellement efficace. Elle est utilisée à la fois pour l'analyse des tableaux dynamiques et sera également utilisée à la fin de ce cours pour analyser les arbres Splay.
Inclus
5 vidéos1 lecture1 devoir
Nous commençons ce module en examinant les files d'attente prioritaires qui sont utilisées pour planifier efficacement des tâches, que ce soit dans le contexte d'un système d'exploitation informatique ou dans la vie réelle, pour trier d'énormes fichiers, ce qui est l'élément de base le plus important pour tout algorithme de traitement des Big Data, et pour calculer efficacement les chemins les plus courts dans les graphes, un sujet que nous aborderons dans notre prochain cours. C'est pourquoi les files d'attente prioritaires ont des implémentations intégrées dans de nombreux langages de programmation, notamment C++, Java et Python. Nous verrons que ces implémentations sont basées sur l'idée géniale de stocker un arbre binaire complet dans un tableau, ce qui permet d'implémenter toutes les méthodes des files d'attente prioritaires en quelques lignes de code seulement. Nous passerons ensuite à la structure de données des ensembles disjoints qui est utilisée, par exemple, dans la connectivité dynamique des graphes et le traitement des images. Nous verrons à nouveau comment des idées simples et naturelles conduisent à une implémentation qui est à la fois facile à coder et très efficace. À l'issue de ce module, vous serez en mesure d'implémenter efficacement ces deux structures de données à partir de zéro.
Inclus
15 vidéos6 lectures3 devoirs1 devoir de programmation1 plugin
Dans ce module, vous découvrirez une technique très puissante et largement utilisée, le hachage. Ses applications comprennent la mise en œuvre de langages de programmation, de systèmes de fichiers, la recherche de motifs, le stockage distribué de clés et de valeurs et bien d'autres choses encore. Vous apprendrez à mettre en œuvre des structures de données pour stocker et modifier des ensembles d'objets et des correspondances d'un type d'objet à un autre. Vous verrez que les implémentations naïves consomment d'énormes quantités de mémoire ou sont lentes, puis vous apprendrez à implémenter des tables de hachage qui utilisent une mémoire linéaire et fonctionnent en O(1) en moyenne ! Enfin, vous apprendrez comment les fonctions de hachage sont utilisées dans les systèmes distribués modernes et comment elles sont utilisées pour optimiser le stockage de services tels que Dropbox, Google Drive et Yandex Disk !
Inclus
20 vidéos4 lectures2 devoirs1 devoir de programmation
Dans ce module, nous étudions les arbres de recherche binaires, qui sont une structure de données permettant d'effectuer des recherches sur des ensembles ordonnés changeant dynamiquement. Vous découvrirez les nombreuses difficultés rencontrées dans l'accomplissement de cette tâche et les moyens de les surmonter. Pour ce faire, vous devrez apprendre la structure de base des arbres de recherche binaires, comment insérer et supprimer sans détruire cette structure, et comment s'assurer que l'arbre reste équilibré.
Inclus
7 vidéos2 lectures1 devoir
Dans ce module, nous poursuivons l'étude des arbres de recherche binaires. Nous étudions quelques applications non triviales. Nous étudions ensuite le nouveau type d'arbres de recherche équilibrés - les arbres Splay. Ils s'adaptent dynamiquement aux requêtes et sont optimaux à bien des égards.
Inclus
4 vidéos2 lectures1 devoir1 devoir de programmation
Instructeurs
Offert par
Recommandé si vous êtes intéressé(e) par Algorithmes
Universidad Nacional Autónoma de México
Illinois Tech
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
Affichage de 3 sur 5491
5 491 avis
- 5 stars
73,56 %
- 4 stars
20,68 %
- 3 stars
3,60 %
- 2 stars
0,72 %
- 1 star
1,41 %
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
L'accès aux cours et aux devoirs dépend de votre type d'inscription. Si vous suivez un cours en mode audit, vous pourrez consulter gratuitement la plupart des supports de cours. Pour accéder aux devoirs notés et obtenir un certificat, vous devrez acheter l'expérience de certificat, pendant ou après votre audit. Si vous ne voyez pas l'option d'audit :
Il se peut que le cours ne propose pas d'option d'audit. Vous pouvez essayer un essai gratuit ou demander une aide financière.
Le cours peut proposer l'option "Cours complet, pas de certificat" à la place. 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 Specializations, et vous obtenez un certificat lorsque vous terminez le travail. Votre certificat électronique sera ajouté à votre page de réalisations - de là, vous pouvez imprimer votre certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez uniquement lire et visualiser le contenu du cours, vous pouvez auditer le cours gratuitement.
Si vous vous êtes abonné, vous bénéficiez d'une période d'essai gratuite de 7 jours pendant laquelle vous pouvez annuler votre abonnement sans pénalité. Après cette période, nous ne remboursons pas, mais vous pouvez résilier votre abonnement à tout moment. Consultez notre politique de remboursement complète.