J'ai déjà des connaissances sur les algorithmes de base. Maintenant, je prévois d'étudier des algorithmes plus avancés et je décide d'aller avec Introduction aux algorithmes .
Je ne suis pas sûr, dois-je rafraîchir mes compétences en mathématiques avant de lire ce livre ou non? (J'oublie presque les mathématiques que j'apprends au lycée et au collège) Si ce livre a besoin de solides connaissances en mathématiques, veuillez suggérer des sujets qui en bénéficient.
Je souhaite en savoir plus sur l'implémentation, la conception et l'analyse d'algorithmes.
algorithms
math
skills
Anonyme
la source
la source
Réponses:
Le cours MIT qui utilise le livre CLR a un cours préalable spécifique. Le manuel utilisé par ce cours préalable est disponible gratuitement.
C'est ici:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/
Le cours préalable du cours préalable est le calcul à variable unique.
la source
Comme @ user16764 le mentionne en référence aux offres de cours du MIT (6.042) , une version de ce qui est normalement appelé mathématiques discrètes , combinée avec le calcul de première année (universitaire) sont les principales exigences pour comprendre de nombreux algorithmes (de base) et leur une analyse.
Les algorithmes spécialisés ou avancés peuvent nécessiter des connaissances mathématiques supplémentaires ou avancées, comme dans les statistiques / probabilités (programmation scientifique et financière), l'algèbre abstraite et la théorie des nombres (par exemple pour la cryptographie).
En tant qu'étudiant, mon cours de mathématiques discrètes avait le manuel Discrete Mathematics with Applications de Susanna Epp, et un autre manuel que j'ai trouvé dans ma bibliothèque était Discrete Mathematics de Kenneth Ross et Charles Wright. Une copie utilisée de qualité décente de l'un d'entre eux est probablement un endroit raisonnable pour commencer (avec ou sans combinaison avec le MIT Open Course Ware, selon votre style d'apprentissage). Pour l'auto-apprentissage, je trouve souvent que le fait d'avoir deux sources de référence peut aider à clarifier les points que j'ai du mal à comprendre.
Une alternative que j'ai vue suggérée est Concrete Mathematics , deuxième édition par Ronald L. Graham, Donald E. Knuth et Oren Patashnik. Je ne trouve pas ma copie pour le moment et je ne l'ai pas étudiée avec diligence, je ne peux donc pas faire de recommandation pour ou contre.
De la préface:
Je noterai les commentaires curmudgeon de Bill the Lizard dans cette entrée de blog "Les programmeurs de livres ne lisent pas vraiment ". Personnellement, je trouve toujours les algorithmes de Robert Sedgewick (maintenant 4e éd.) Moins intimidants et plus accessibles.
En ce qui concerne le continu (ie réel nombres) partie des mathématiques, calcul par Stewart semble être un ouvrage fréquemment utilisé pour donner des conférences aux étudiants sur l'illumination qui vient de la différenciation et de l' intégration.
la source
Ce ne sont pas vraiment autant de mathématiques en soi que le confort et la maîtrise du formalisme mathématique. Apprenez la terminologie de base des ensembles et le formalisme correspondant.
L'analyse des algorithmes, en particulier dans le contexte de la théorie de la complexité dans laquelle vous étudiez le problème de calcul sous-jacent (si vous essayez de faire quelque chose de plus substantiel que la notation "Big-Oh"), nécessite un investissement important en temps dans la théorie des graphes. et l'algèbre abstraite, le tout en plus d'une énorme dose d'intelligence innée.
la source
Je pense que vous êtes prêt à partir à moins que vous ne soyez préoccupé par l '"analyse" des algorithmes, pas seulement leur mise en œuvre. Ce cours nous est généralement et UD mathématiques ou cours CS dans la plupart des programmes d'études collégiales.
Comprendre comment implémenter les algorithmes de ce livre ne devrait pas être un problème
la source