Donc, je suis un étudiant en Informatique et dans environ une semaine... je vais reprendre une des Structures de Données de cours, à l'aide de C++ pour l'application de la théorie. Oui, je dis "reprendre". J'ai pris le cours de l'Automne dernier, et j'ai l'impression qu'il est plus que j'ai besoin d'apprendre. Étant étudiant, j'ai l'impression que je DOIT connaître les bases, car il sera beaucoup plus facile à comprendre de nouveaux concepts dans les futures classes en connaissant déjà les concepts de base... de ne pas avoir à réapprendre à chaque fois.
La première fois, je n'avais aucune expérience en C++ et le cours devrait nous être codage d'ici la fin de la première semaine. J'ai eu du mal à obtenir par le biais de plusieurs des premiers devoirs de programmation (MPs). Inutile de dire que je suis habitué à elle et eu un peu de mal avec la syntaxe pour le reste du semestre. Mais ensuite, le plus difficile des Structures de Données est venu autour et la théorie (Grand O), est devenu la partie la plus difficile.
Dans l'ensemble c'était une bonne expérience, mais je sens que mon problème était que je n'ai pas de développer de bonnes habitudes d'étude. J'ai fait les Députés, et montré faire la leçon, mais il semble que mon cœur n'était pas là avec moi. Je veux changer ce la seconde fois car, en regardant en arrière au niveau de la classe, j'ai fait passer un bon moment et j'ai apprécié le matériel. Mais je me suis retrouvé à passer trop de temps à penser à/de la configuration de la structure de données(s) quand j'ai besoin de passer du temps à réfléchir à comment mettre de la structure de données pour les utiliser efficacement.
La théorie de l'apprentissage est difficile (surtout parce qu'il n'est pas si excitant) alors, comment dois-je l'appliquer moi-même pour vraiment comprendre les Structures de Données couvertes de classe? J'ai toujours été un apprenant visuel, interactif apprenant... je ne veux pas passer du temps à simplement faire mon Députés. Plutôt, j'ai envie de passer mon temps dans une telle manière que j'ai vraiment apprendre/comprendre les concepts et ensuite appliquer directement les connaissances.
Je suis à la recherche de toutes les suggestions... peut-être des conseils sur les habitudes d'étude qui ont travaillé pour vous dans le passé, l'apprentissage de ces concepts... ou des suggestions sur la bonne prise de notes techniques... tout ce que vous aimeriez partager :) ... et le plus important, comment se préparer avant le début du semestre.
N'hésitez pas à fournir des commentaires, même si une réponse a été sélectionné. Je suis à la recherche de vos conseils... c'est pourquoi j'ai posté :) Merci!
NOTE: Structures de Données et des Thèmes abordés dans le cours: Listes, Piles, Files, Arbres (différentes sortes), des Tables de Hachage, les Graphiques, de la Recherche/Tri/Traversée de techniques.
Mise à JOUR: Voici une liste de liens et de références compilées à partir des réponses à ce jour.
- Algorithmes en C++ par Robert Sedgewick
- Introduction aux Algorithmes par Cormen
- Le NIST Dictionnaire des Algorithmes et Structures de Données
- Algorithmes de tri
- Arbre traversals
- Graphique traversals
- http://www.codeproject.com/KB/cpp/linked_list.aspx
- http://www.codeproject.com/KB/architecture/treedata_class.aspx
Mise à JOUR 2: Voici une liste de quelques-uns plus de sources que j'ai trouvé: