Mes cours gratuits préférés pour apprendre en profondeur les structures de données et les algorithmes

Les structures de données et les algorithmes sont parmi les sujets les plus essentiels pour les programmeurs, à la fois pour obtenir un emploi et pour bien faire un travail. Une bonne connaissance des structures de données et des algorithmes est la base de l'écriture d'un bon code.

Si vous êtes familier avec les structures de données essentielles telles que les tableaux, les chaînes, les listes chaînées, les arbres, les cartes et les structures de données avancées comme les essais et les arbres auto-équilibrés comme les arbres AVL, etc., vous saurez quand utiliser quelle structure de données et calculez le coût CPU et mémoire de votre code.

Même si vous n'avez pas besoin d'écrire votre propre tableau, liste chaînée ou table de hachage, étant donné que tous les principaux SDK de programmation les fournissent, par exemple la bibliothèque JDK ou C ++ STL, vous devrez les comprendre afin de pouvoir les utiliser au bon endroit .

L'utilisation de la bonne structure de données peut considérablement améliorer les performances d'un algorithme.

Idéalement, nous devrions tous apprendre les structures de données et les algorithmes dans nos écoles et collèges, mais cela est rarement couvert. La plupart des programmeurs, y compris moi-même, ne s'initient à une structure de données que dans nos cours d'informatique, mais nous n'avons pas vraiment appris leur importance dans le monde réel, et c'est pourquoi nous ne les avons pas mieux compris.

Pour nous, ce ne sont que des algorithmes et des structures de données, par exemple un concept, pas un outil que vous pouvez utiliser pour écrire de bons programmes. Nous ne savions pas que Facebook les utiliserait pour stocker nos informations ou que Google les utiliserait pour stocker des pages Web et des liens vers des requêtes de recherche.

Quoi qu'il en soit, il n'est jamais trop tard.

Si vous pensez que vos connaissances en matière de structure de données ne sont pas à la hauteur ou si vous souhaitez améliorer vos connaissances en structure de données, vous êtes au bon endroit.

Auparavant, j'avais partagé des livres gratuits pour apprendre les structures de données et les algorithmes, et dans cet article, vous découvrirez certains des meilleurs cours de structure de données et d'algorithmes disponibles gratuitement en ligne.

Cours gratuits pour apprendre les structures de données et les algorithmes

Voici ma liste de certains des meilleurs cours pour apprendre les structures de données et les algorithmes, qui sont également gratuits. De nombreux programmeurs pensent que les ressources gratuites ne sont pas bonnes, ce qui n'est pas vrai.

Même si elles ne correspondent parfois pas à la qualité et à la couverture des ressources payantes, elles sont en fait les meilleures ressources pour commencer.

Vous pouvez utiliser ces cours pour vous familiariser avec les structures de données essentielles et apprendre quelques notions de base.

Certains d'entre eux sont particulièrement bons du point de vue des entretiens, vous pouvez donc les utiliser avec n'importe quel livre que vous utilisez pour préparer votre entretien d'embauche de programmation.

Cours n ° 1: Concepts de structure de données en C

Il s'agit d'un autre cours de formation gratuit en ligne sur les algorithmes et les structures de données, qui vise à enseigner les structures de données de base en programmation informatique.

Les structures de données enseignées dans le cours comprennent la pile, la file d'attente et la liste liée à l'aide du langage de programmation C.

L'objectif principal de ce cours est de permettre aux étudiants et aux ingénieurs en logiciel de visualiser le fonctionnement des différentes structures de données.

Ce cours n'est pas exhaustif, mais vous en apprendrez davantage sur la pile, la file d'attente et la liste liée.

En bref, c'est un excellent cours pour les programmeurs novices dans les structures de données et ceux qui viennent d'apprendre un langage de programmation et qui veulent apprendre les bases du fonctionnement des structures de données.

Cours # 2: Algorithmes Partie 1 - Coursera

Il s'agit de la première partie d'une série de cours en deux parties portant sur les algorithmes et les structures de données sur Courera par Robert Sedgewick.

Dans cette partie, vous apprendrez les structures de données essentielles telles que les listes chaînées, les piles, les files d'attente, les arbres binaires et les tables de hachage, ainsi que les algorithmes de recherche et de tri tels que la recherche binaire, le tri rapide, le tri par fusion, le tri par insertion, etc.

Vous découvrirez également les structures de données et les algorithmes de base utilisés dans les applications quotidiennes et comprendrez les compromis impliqués dans le choix de chaque structure de données ainsi que les algorithmes de traversée, de récupération et de mise à jour.

Toutes les fonctionnalités de ce cours sont disponibles gratuitement mais il ne propose pas de certificat à la fin.

Cours # 3: Algorithmes - Partie 2

Il s'agit de la deuxième partie d'une série de cours Coursera en ligne gratuits en deux parties couvrant les structures de données et les algorithmes par Robert Sedgewick et Kevin Wayne, tous deux professeurs d'informatique.

Robert Sedgewick est également l'auteur du livre Algorithms 4th Edition , l'un des livres les plus populaires sur les algorithmes pour les développeurs Java.

Dans cette partie, vous découvrirez les algorithmes de traitement de graphes et de chaînes.

Vous apprendrez également quelques structures de données et algorithmes avancés utilisés dans le développement d'applications.

En ce qui concerne la preuve sociale, les algorithmes Partie 1 et Algorithmes Partie 2 sont des cours fortement recommandés et ont des critiques et des évaluations impressionnantes.

Cours n ° 4. Structures de données en Java

Il s'agit d'un cours d'introduction en ligne sur les structures de données, les algorithmes et les analyses de complexité. Il vous apprendra la conception, la mise en œuvre et les analyses de structures de données de base en utilisant le langage Java.

La meilleure partie de ce cours est le nombre d'exemples pratiques et le fait qu'il se concentre sur l'intuition plutôt que sur les formules et les preuves mathématiques.

Le cours fournit une bonne introduction à «l'analyse de la complexité», qui permet de repérer un programme peu (et très performant), même sans qu'il soit nécessaire de l'exécuter.

C'est tout à propos de certains des cours gratuits de structure de données et d'algorithmes disponibles en ligne. Vous pouvez utiliser ces cours pour apprendre les structures de données et les algorithmes à votre propre rythme.

Ils ne sont peut-être pas tous exhaustifs, mais ils constituent une bonne introduction. Une fois que vous avez suivi ces cours, vous pouvez choisir un bon livre comme Introduction aux algorithmes pour compléter vos connaissances.

Cours n ° 5. Structures de données faciles à avancées

Mise à jour: ce cours n'est plus gratuit, mais c'est un excellent cours et peut en valoir la peine pour vous. Ces cours de structure de données et d'algorithme d'Udemy sont destinés à toutes les personnes qui souhaitent apprendre les structures de données d'un niveau absolu de base à avancé.

Ce cours ne s'attend pas à ce que vous ayez une connaissance préalable des structures de données, mais une connaissance préalable de base de Java est utile.

L'auteur @William Fiset est ingénieur logiciel chez Google et ancien finaliste mondial ACM-ICPC et possède d'excellentes compétences en programmation informatique et en résolution de problèmes.

En parlant de preuve sociale, le cours compte plus de 25000 étudiants et une moyenne de 4,1 notes sur 683, ce qui est impressionnant.

En bref, c'est un guide complet pour apprendre tout ce qu'il y a à savoir sur les structures de données.

C'est également un cours idéal pour les étudiants en informatique et les professionnels des logiciels qui souhaitent apprendre les structures de données et les algorithmes du point de vue des entretiens.

Donc, si vous cherchez à obtenir un emploi avec des entreprises basées sur des produits comme Amazon, Google, Microsoft ou Facebook, vous pouvez utiliser ce cours pour démarrer votre préparation.

Apprentissage supplémentaire

  • Structures de données et algorithmes: analyse approfondie de Java
  • Structure des données et algorithmes - Parties 1 et 2
  • 10 livres pour préparer la programmation technique / le codage des entretiens d'embauche
  • 10 livres d'algorithmes que chaque programmeur devrait lire
  • Top 5 des livres sur la structure des données et les algorithmes pour les développeurs Java
  • De 0 à 1: Structures de données et algorithmes en Java
  • Analyse de la structure des données et des algorithmes - Entretien d'embauche

Notes de clôture

Merci. Vous êtes arrivé à la fin de l'article. Bonne chance avec votre programmation Journey! Ce ne sera certainement pas facile, mais en suivant ces cours, vous êtes un pas de plus vers la maîtrise de la structure des données et des algorithmes que d'autres.

Si vous aimez cet article, partagez-le avec vos amis et collègues, et n'oubliez pas de suivre javinpaul sur Twitter!