Comment Google Maps planifie-t-il le meilleur itinéraire pour se déplacer en ville en fonction des conditions de circulation actuelles ? Comment un routeur Internet transmet-il les paquets de trafic réseau afin de minimiser les délais ? Comment un groupe d'aide alloue-t-il des ressources à ses partenaires locaux affiliés ? Pour résoudre de tels problèmes, nous représentons d'abord les éléments clés des données dans une structure de données complexe. Dans ce cours, vous apprendrez à connaître les structures de données, comme les graphes, qui sont fondamentales pour travailler avec des données structurées du monde réel. Vous développerez, mettrez en œuvre et analyserez des algorithmes pour travailler avec ces données afin de résoudre des problèmes réels. De plus, au fur et à mesure que les programmes que vous développerez dans ce cours deviendront plus complexes, nous examinerons ce qui fait un bon code et la conception de la hiérarchie des classes afin que vous puissiez non seulement écrire un code correct, mais aussi le partager avec d'autres personnes et le maintenir dans le futur. Le projet principal de ce cours sera une application de planification d'itinéraires. Vous appliquerez les concepts de chaque module directement à la construction d'une application qui permet à un agent autonome (ou à un conducteur humain !) de naviguer dans son environnement. Et comme d'habitude, nous avons nos différentes séries de vidéos pour aider à relier le contenu à son importance dans le monde réel et pour fournir des niveaux de support pour répondre à vos besoins personnels.
Structures de données avancées en Java
Ce cours fait partie de Spécialisation Programmation Java orientée objet : Structures de données et au-delà
Instructeurs : Leo Porter
81 020 déjà inscrits
Inclus avec
(1,239 avis)
Compétences que vous acquerrez
- Catégorie : Graphiques
- Catégorie : Algorithme de recherche
- Catégorie : Algorithmes graphiques
- Catégorie : Structures de données graphiques
Détails à connaître
Ajouter à votre profil LinkedIn
11 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
Bienvenue à la première semaine du troisième cours de notre spécialisation en programmation Java intermédiaire. Une fois de plus, nous commençons par des introductions et, en particulier, nous présentons la structure unique de ce cours. De plus, si vous n'êtes pas sûr que ce cours soit fait pour vous, nous avons un quiz optionnel avant le cours qui peut vous aider à déterminer si vous êtes au bon endroit. Si vous décidez de rester avec nous (et nous espérons vraiment que vous le ferez !), nous avons un grand projet de base pour vous : votre propre application de cartographie, inspirée par Google Maps ! La structure de données centrale de ce cours est le graphe, qui pourrait bien être la structure de données la plus fondamentale de toute l'informatique. Vous êtes prêt à commencer ? Nous aussi !
Inclus
4 vidéos10 lectures3 devoirs1 sujet de discussion
Cette semaine, nous allons entrer dans le vif du sujet en vous présentant la structure de données centrale du cours : Les graphiques. Vous apprendrez les bases et aurez ensuite l'occasion de plonger un peu plus profondément dans le code, afin de vous préparer à construire cette application semblable à Google Maps.
Inclus
17 vidéos7 lectures3 devoirs1 devoir de programmation
Cette semaine, vous allez mettre en place l'ossature de votre moteur de recherche cartographique. Dans les cours précédents, y compris les cours précédents de cette spécialisation, on vous a probablement fourni la plupart des classes dont vous aviez besoin pour réaliser les travaux. Mais apprendre à concevoir des classes à partir de zéro est une compétence clé dont vous aurez besoin au fur et à mesure que vous deviendrez un programmeur Java plus sophistiqué. Cette semaine, nous allons vous donner les outils dont vous avez besoin pour créer une classe robuste et élégante pour votre moteur de recherche de cartes. Nous vous présenterons un problème similaire et vous montrerons comment il peut être représenté sous la forme d'un graphe. Nous vous présenterons ensuite deux algorithmes de recherche fondamentaux : la recherche en profondeur d'abord et la recherche en largeur d'abord. Enfin, nous transformerons notre problème de graphe en un ensemble de classes Java. Votre tâche de programmation cette semaine consistera à faire la même chose, mais dans le contexte du moteur de recherche de cartes !
Inclus
20 vidéos3 lectures2 devoirs1 devoir de programmation1 évaluation par les pairs
Au cours des deux dernières semaines, vous avez acquis une bonne compréhension de la manière de concevoir des classes pour représenter un graphique et d'utiliser un graphique pour représenter une carte. Cette semaine, vous allez ajouter une caractéristique clé des données cartographiques à notre représentation graphique - les distances - en ajoutant des poids à vos arêtes pour produire un "graphe pondéré". Bien que ce changement puisse sembler anodin, les algorithmes qui fonctionnent pour les graphes non pondérés peuvent s'avérer inefficaces pour les graphes pondérés. Pour résoudre ce problème, vous explorerez des algorithmes de plus court chemin plus avancés. Vous verrez d'abord comment trouver le plus court chemin sur un graphe pondéré, puis comment le trouver plus rapidement. Dans le cadre du projet, vous appliquerez ces idées pour créer le cœur de toute bonne application cartographique : trouver le chemin le plus court d'un endroit à un autre.
Inclus
10 vidéos4 lectures1 devoir1 devoir de programmation
Cette semaine, nous irons au-delà du problème de la recherche d'un chemin entre deux points, et nous nous concentrerons sur des problèmes nécessitant une planification globale du chemin. Par exemple, si vous voulez faire des courses et visiter six endroits différents avant de rentrer chez vous, quel est l'itinéraire optimal ? Ce problème est en fait un problème très connu en informatique, connu sous le nom de problème du vendeur itinérant (TSP). En tentant de résoudre ce problème, nous explorerons la théorie de la complexité, ce que signifie être NP-Hard, et comment résoudre des problèmes "difficiles" à l'aide d'heuristiques et d'algorithmes d'approximation. Nous terminerons la semaine en montrant comment la reformulation d'un problème peut avoir un impact énorme : rendre un problème qui était effectivement insoluble auparavant, désormais soluble !
Inclus
11 vidéos3 lectures1 devoir
Vous avez atteint la dernière semaine de notre cours ! Nous sommes heureux que vous soyez toujours avec nous. En guise de récompense, il n'y a pas de nouveau contenu à apprendre cette semaine. Au lieu de cela, vous aurez l'occasion d'étendre votre projet dans la direction de votre choix. Nous espérons que vous avez des idées intéressantes pour personnaliser votre application cartographique et nous attendons avec impatience de les voir dans la galerie d'évaluation par les pairs. La soumission à la galerie d'évaluation par les pairs est facultative (bien que l'extension soit obligatoire), mais nous espérons que vous choisirez d'y participer.
Inclus
1 vidéo2 lectures1 devoir1 évaluation par les pairs
Instructeurs
Offert par
Recommandé si vous êtes intéressé(e) par Algorithmes
Coursera Project Network
Amazon
Universidad de los Andes
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
1 239 avis
- 5 stars
80,88 %
- 4 stars
15,48 %
- 3 stars
2,50 %
- 2 stars
0,72 %
- 1 star
0,40 %
Affichage de 3 sur 1239
Révisé le 1 avr. 2020
This was an excellent course for those looking to learn more about graphs (and to get experience in coding graphs in Java). The UCSD instructors are excellent.
Révisé le 17 juil. 2017
Excellent course. I have a 32 year old CS degree and needed a Java Course which did not cover the basics of programming but rather covered advanced CS topics in a Java Context. This is the course.
Révisé le 13 avr. 2019
As I keep completing the assignment, I got more confident on my Java and debugging skills. I would recommend solidifying your undestanding of the Data Structures
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
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.