Guide pour éviter les pièges de l'apprentissage des algorithmes : de la mauvaise démonstration au bon chemin

(0 commentaire)

Au cours du long voyage vers l’apprentissage des algorithmes, de nombreuses personnes avancent à tâtons, mais elles s’égarent souvent. Récemment, lorsque j'ai repensé à mon processus d'apprentissage, j'ai profondément réalisé que beaucoup de mes amis avaient des problèmes majeurs dans la façon dont ils apprenaient les algorithmes et les structures de données. Avec des années d’expérience accumulée en apprentissage d’algorithmes, j’espère que mes idées pourront dissiper le brouillard pour tout le monde et éclairer la voie à suivre. Ensuite, je démontrerai d'abord les erreurs, puis j'expliquerai la méthode d'apprentissage correcte et je discuterai brièvement des points clés de l'entretien et des scénarios de questions de révision.

1. Démonstration d'erreurs : instillation de points de connaissance isolés

La méthode d'enseignement de nombreux manuels d'algorithmes revient à apprendre le chinois avec un dictionnaire chinois moderne. Prenons le chapitre de la liste chaînée comme exemple. Dès le début, nous définissons directement la liste chaînée, dessinons un diagramme pour expliquer, puis répertorions les opérations courantes telles que la recherche et l'insertion de nœuds. Les étudiants semblent comprendre, mais en réalité ils ne s’en souviennent pas. Ils sont encore pleins de doutes : à quoi servent les listes chaînées ? Pourquoi étudier ? Où avez-vous utilisé ce que vous avez appris ? Ces questions peuvent rester sans réponse jusqu'à ce que vous ayez lu le livre en entier. La plupart des cours transmettent des connaissances de cette façon. Afin d'aider tout le monde à comprendre le problème plus clairement, j'ai spécialement vérifié deux cours sur la structure de données ouvertes dispensés par les meilleures universités étrangères : le 6.006 du MIT et le CS106B de Stanford (les deux cours peuvent être consultés en ligne gratuitement).

2. Démonstration correcte : corrélation des connaissances, enseignement d'histoires

  1. MIT's 6.006 : Au début du cours, les structures de données sont expliquées comme des moyens de stocker des données et des algorithmes qui opèrent sur les données. Nous introduisons ensuite les tableaux et les listes chaînées et mettons en évidence leurs différences en mémoire en comparant la complexité temporelle de leurs différentes opérations. Étant donné que les tableaux et les listes chaînées stockent les données de différentes manières mais ont la même interface (telle que rechercher, insérer ou supprimer des données dans une chaîne de données), les étudiants peuvent non seulement comprendre clairement les différences et les avantages entre les deux, mais également avoir un leur compréhension. Une compréhension intuitive. -Compréhension approfondie de la définition des structures de données et des concepts d'interfaces. . Tous les concepts du cours sont étroitement liés et se corroborent mutuellement, plutôt que d'exister isolément. Au cours du processus d'explication, l'enseignant fera constamment écho aux articles précédents pour consolider et renforcer les anciennes connaissances.
  2. CS106B de Stanford : Ce cours introduit le concept de files d'attente. Expliquez d'abord ce qu'est une file d'attente, puis utilisez des tableaux et des listes chaînées pour implémenter des files d'attente. Lors de l'implémentation de la file d'attente dans le tableau, il a été constaté que la complexité temporelle de l'insertion du nœud opposé était faible, c'est pourquoi le concept de complexité temporelle a été introduit et la file d'attente a été réimplémentée à l'aide d'une liste chaînée, ce qui a mis en évidence les avantages du nœud lié. liste répertoriée en termes de complexité temporelle. De cette manière, les étudiants comprendront les concepts de files d'attente, de listes chaînées et de tableaux ainsi que les différences entre eux, et comprendront que la même interface de file d'attente peut être implémentée par différentes structures de données. Cette méthode pédagogique basée sur des histoires relie intelligemment les points de connaissances afin que les élèves puissent les garder à l'esprit et savoir les appliquer.

3. Entretien : Montrez votre force avec des applications pratiques

Même si vous étudiez correctement, comme mentionné ci-dessus, vous avez toujours besoin de compétences pour réussir les examens et les entretiens. Lors du processus d’entretien, il ne suffit pas de savoir ce qu’est une liste chaînée. Ce que l'intervieweur apprécie, c'est votre capacité à utiliser des listes chaînées pour résoudre des problèmes difficiles dans des projets réels. Par exemple, dans mon CV, j'ai mentionné la création d'un jeu multi-balles basé sur le Web. Cependant, le jeu est en retard à cause du trop grand nombre de balles. À cette époque, des milliers de puces étaient initialisées à l'avance à l'aide d'une liste chaînée et un pool d'objets de puces était construit, résolvant efficacement le problème de décalage. Au cours de l'entretien, combiné à l'affichage du concours lui-même, cela laissera une profonde impression sur l'intervieweur. Un autre exemple consiste à utiliser des listes chaînées pour réaliser l'allocation de mémoire du système d'exploitation, à utiliser des listes chaînées pour connecter des mémoires et à couper et insérer des nœuds en fonction de l'utilisation. Cette application est plus convaincante en entretien que la simple description du concept de liste chaînée. Si vous souhaitez en savoir plus sur les applications pratiques des structures de données, autant vous tourner vers les outils d’IA.

4. Résolution de problèmes : concentrez-vous sur le processus de réflexion

Lors de l'étude de questions, de nombreux manuels donnent souvent des réponses directement après que les questions ont été posées. Cependant, ce qu’il faut réellement apprendre, ce ne sont pas les questions et les réponses elles-mêmes, mais le processus de réflexion tortueux qui mène des questions aux réponses. Il existe un livre intitulé "Comment résoudre les problèmes". Bien qu'il se concentre principalement sur les mathématiques, il n'enseigne pas de problèmes spécifiques, mais enseigne des idées de résolution de problèmes, dignes de référence de tous. Il en va de même lors des entretiens avec des questions algorithmiques. Si vous écrivez vos réponses directement sur le tableau blanc après trois minutes de silence, vous ne laisserez qu'une impression générale à l'intervieweur, car il ne sera pas en mesure de comprendre vos capacités de réflexion et de communication et pourra même soupçonner que vous avez mémorisé les questions. . Pendant l'entretien, communiquez pleinement avec l'intervieweur et montrez votre processus de réflexion. Même si vous rencontrez une question que vous ne comprenez pas, vous pourrez peut-être obtenir des indices grâce à une bonne communication et enfin compléter la réponse à la question.

En repensant à mon parcours d’études, j’ai découvert que plus de la moitié des cours et des manuels utilisaient le bachotage pour inculquer des connaissances. J'espère qu'en étudiant cet article, vous pourrez éviter les malentendus liés à l'apprentissage des algorithmes et trouver un parcours d'apprentissage qui vous convient. Si vous avez trouvé cet article utile, n'oubliez pas de cliquer trois fois. Vous êtes également invités à partager vos expériences d’apprentissage et vos questions dans la zone de commentaires, afin que nous puissions progresser ensemble sur la voie de l’apprentissage des algorithmes.

Actuellement non classé

commentaires


Il n'y a actuellement aucun commentaire

Veuillez vous connecter avant de commenter: Se connecter

Messages récents

Archive

2025
2024
2023
2022
2021
2020

Catégories

Mots clés

Auteurs

Flux

RSS / Atome