Je suis programmeur PHP, et jusqu'à présent je n'ai pas eu besoin d'apprendre les algorithmes ...
Maintenant, je commence à apprendre Python (un vrai langage de programmation), car j'ai besoin d'utiliser matplotlib. Est-il judicieux de commencer par lire un livre d'algorithmes Python, puis d'apprendre matplotlib et numpy ou dois-je passer à matplotlib et numpy?
Meilleures salutations,
learning
python
algorithms
André
la source
la source
Réponses:
Absolument. Sans connaître les algorithmes, comment allez-vous comprendre comment un programme fait ce qu'il fait?
Il est essentiel de comprendre le développement d'algorithmes pour pouvoir programmer plus efficacement et écrire de meilleurs programmes. Pour commencer, vous devez au moins connaître les bases de concepts tels que le flux de contrôle (peut-être via un automate d'état, mais ce n'est pas toujours nécessaire) et la notation Big O et comment cela peut affecter les performances.
la source
La réponse est à la fois oui et non. Vous n'avez pas besoin de connaître les détails du fonctionnement des différents algorithmes ou la théorie qui les sous-tend - c'est le travail des informaticiens - mais vous devez connaître les bases, telles que les algorithmes disponibles pour résoudre une tâche particulière et lequel est le mieux pour une situation donnée.
Dans votre cas, vous pouvez simplement commencer à utiliser les bibliothèques que vous avez mentionnées - elles ont été construites par quelqu'un uniquement pour faciliter la vie des autres. Vous n'avez certainement pas besoin de connaître les algorithmes qui ont servi à le construire juste pour l'utiliser.
la source
Oui, pour que vous compreniez comment appliquer une approche plutôt qu'une autre. Vous ne voulez pas non plus "réinventer la roue" car il existe de nombreux algorithmes existants qui fonctionnent déjà. Si vous ne savez pas qu'ils existent, vous perdrez du temps à inventer une solution potentiellement plus faible et vous ne comprendrez même pas pourquoi elle est plus faible.
la source
Les algorithmes pour un programmeur sont un marteau pour un forgeron. Bien sûr, vous pouvez vous en passer et utiliser des alternatives pour faire le travail, mais si vous voulez le faire correctement et bien le faire, il est essentiel.
Une bonne chose à propos des algorithmes est qu'ils sont indépendants du langage de programmation, alors apprenez la théorie une fois et vous pouvez l'implémenter dans n'importe quel langage. Voici un bon site Web que j'ai construit pour commencer à apprendre: www.ambesty.com Ils utilisent Java mais il est livré avec un exemple de code pour apprendre. Ils offrent des algorithmes ADT et de tri simples à des algorithmes plus complexes comme les algorithmes de compression de données. Lecture très intéressante. Bonne chance
la source
Selon votre expérience PHP, si vous êtes à un stade où vous pouvez adapter les concepts de programmation de base d'un langage à un autre, faites-le . Ce serait le moyen le plus efficace de passer votre temps.
Lisez ce que vous devez faire pour intégrer Matplotlib , numpy et Python. Et puis si vous êtes coincé, continuez à plonger plus profondément. Je recommande cette commande car
la source
Si vous développez des applications métier (uniquement), apprenez uniquement les bases, telles que les listes, les files d'attente, le tri, la recherche de chaînes, etc. afin d'apprendre la terminologie, la manière dont les performances sont affectées et mesurées, etc. Une meilleure utilisation de votre temps serait de vous concentrer sur les nouvelles technologies, les modèles OO, la conception efficace de bases de données et l'application. méthodologies de développement, et autres!
la source
Ok - je sais que ce n'est pas exactement ce que vous vouliez dire, mais vous savez déjà (comment faire) des algorithmes. Selon votre définition, vous pouvez prendre chaque programme comme exemple d'algorithme.
Alors n'ayez pas peur. Il est utile de connaître les algorithmes de base, il est plus utile de connaître les structures de données de base, mais il est encore mieux de connaître les «modèles» de conception. Après tout, les algorithmes de base et les structures de données seront mis en œuvre dans le cadre de votre choix, mais les modèles ne le seront probablement pas ...
la source
Apprenez d'abord python puis si vous en avez envie, vous pouvez étudier des algorithmes; Parce que les algorithmes ne sont pas spécifiques à python - ils sont généraux dans tous les langages.
la source
Avant de commencer à l'Université, je pensais que j'étais un programmeur assez décent et j'avais quelques années d'expérience de travail. Mais après avoir appris les algorithmes et les infrastructures de données à l'Université, je pense que c'est la connaissance que vous devez avoir! C'est essentiel pour tout ce que vous faites. Même si vous n'utilisez pas directement ces connaissances tous les jours, elles resteront au sommet de votre tête et feront de vous un meilleur programmeur.
Vous en apprenez beaucoup sur les performances, et même si les performances ne sont généralement pas numéro un, la connaissance des algorithmes vous empêchera de faire des choses stupides, avec de très mauvaises performances. Même si la performance n'est pas numéro un, il n'y a aucune raison de ne pas utiliser ces connaissances pour prendre les bonnes décisions.
la source