Compétence mathématique préalable au livre d'introduction aux algorithmes (CLRS) [fermé]

30

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.

Anonyme
la source
1
Voici une excellente ressource pour rafraîchir vos compétences si vous le souhaitez. khanacademy.org
Alan B. Dee

Réponses:

9

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:

Mais qu'est-ce que les mathématiques concrètes? C'est un mélange de mathématiques continues et discrètes. Plus concrètement, c'est la manipulation contrôlée de formules mathématiques, utilisant un ensemble de techniques pour résoudre des problèmes.

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.

mctylr
la source
6

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.

Bill VB
la source
1

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

Doug Stanley
la source
Je veux aussi en savoir plus sur l'analyse des algorithmes. Veuillez me donner des suggestions. :)
Anonyme
@Anonymous Dans ce cas, je pense qu'il n'y a pas d'autre choix que de mordre la balle. J'ai commencé à m'enseigner des mathématiques discrètes, mais je me suis vite senti dépassé et j'ai abandonné, j'ai essayé le moyen facile de sortir en faisant des livres "populaires" sur les structures de données et les algorithmes, seulement pour constater que la vraie affaire manquait. Je rassemble maintenant le courage de recommencer.
ankush981