En data science, les algorithmes et les structures de données permettent de déterminer la manière dont les données sont collectées et stockées. Même si des connaissances en codage et en mathématiques sont utiles dans l'apprentissage de ces structures, bon nombre de livres s'adressent aux novices. La plupart se focalisent sur une structure spécifique pour faciliter l'apprentissage, en s'appuyant sur des exemples fonctionnels et des extraits de code pour mettre la théorie en pratique. Une fois que vous avez une bonne connaissance des bases de la data science, la prochaine étape est l'apprentissage des algorithmes.
Cet article présente une série de livres (en anglais) sur les algorithmes et les structures de données, s'adressant aux utilisateurs de tous niveaux.
1. « Introduction to Algorithms » par Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest et Clifford Stein
Auteurs : Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest et Clifford Stein
Site : Amazon
Ce livre fait office de guide complet sur les algorithmes en général. Comportant plus de 1 000 pages, il sert de référence encyclopédique pour les algorithmes modernes et couvre à la fois les aspects théoriques et les applications pratiques.
Ce livre pratique présente des problématiques à l'aide de diagrammes et de démonstrations, en mettant en pratique les algorithmes et en analysant l'aspect théorique des résultats. Le fait qu'il s'agisse d'une introduction suppose quelques connaissances en mathématiques et en structures de données, et les lecteurs désireux d'apprendre pourront progresser sur ce sujet.
2. « Algorithms Unlocked » par Thomas H. Cormen
Auteur : Thomas H. Cormen
Site : Amazon
Ce livre a pour objectif de dissiper le côté mystérieux des technologies et d'expliquer la manière dont elles fonctionnent. Le calcul automatique de trajets par GPS ou le chiffrement sur Internet sont des exemples de technologie dont nous nous servons naturellement qui s'appuient sur des algorithmes.
Dans ce livre, vous découvrirez comment les ordinateurs utilisent des algorithmes pour résoudre des problèmes et rendre possibles des tâches technologiques qui facilitent notre quotidien. Ce livre aborde de manière détaillée la constitution des algorithmes et explique comment utiliser ceux-ci pour effectuer des tâches simples comme des recherches, des opérations de tri et des graphiques. Il s'adresse à tous ceux qui s'intéressent au fonctionnement des algorithmes dans notre monde moderne.
3. « The Algorithm Design Manual » par Steven S. Skiena
Auteur : Steven S. Skiena
Site : Amazon
Ce livre est une introduction à la création d'algorithmes de toutes pièces. Il aborde non seulement l'aspect théorique de la conception d'algorithmes, mais utilise également des exemples et des exercices concrets pour référence. L'auteur présente un pseudo-code, permettant de passer facilement aux différents langages de programmation utilisés dans les algorithmes. Il aborde un large éventail d'algorithmes modernes comme la théorie des graphes, la géométrie algorithmique et les algorithmes multithread.
Ce livre se divise en deux sections : l'une relative aux techniques et l'autre concernant les ressources. La première partie explique au lecteur comment concevoir et analyser des algorithmes. La seconde est une compilation de ressources, avec plus de 75 problèmes algorithmiques parmi les plus communs, ainsi que des mises en œuvre en C/C++ et en Java, que vous pourrez utiliser comme référence.
4. « Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles » par Narasimha Karumanchi
Auteur : Narasimha Karumanchi
Site : Amazon
Ce livre a vocation à rafraîchir vos connaissances dans des domaines sur lesquels vous pourriez être interrogé, dans le cadre d'un examen ou d'un entretien d'embauche par exemple. Il présente des problèmes algorithmiques classiques et leurs solutions. Il couvre les notions fondamentales sur les structures de données et le fonctionnement des algorithmes, et explique comment créer des algorithmes de toutes pièces.
Des connaissances en mathématiques et en C/C+ sont nécessaires pour réaliser les exercices. Avec plus de 400 pages et 20 chapitres, ce livre propose de nombreux exercices pour apprendre à résoudre des problèmes algorithmiques.
5. « Grokking Algorithms: An illustrated guide for programmers and other curious people » par Aditya Bhargava
Auteur : Aditya Bhargava
Site : Amazon
Ce livre facile à comprendre présente des algorithmes pour les programmeurs et explique comment résoudre des problèmes classiques. Il aborde les algorithmes les plus répandus comme la recherche et le tri, puis passe à des problèmes de complexité croissante, notamment sur la compression de données et l'IA.
Les illustrations qui accompagnent les algorithmes sont utiles pour l'apprentissage visuel et les présentations guidées expliquent chaque processus pas à pas. Chaque exemple inclut des exemples de code en Python. Ce livre ne s'adresse pas aux néophytes mais peut servir de guide ou de remise à niveau pour les lecteurs connaissant déjà la programmation.
6. « Algorithms » par Robert Sedgewick et Kevin Wayne
Auteurs : Robert Sedgewick and Kevin Wayne
Site : Amazon
Un titre assez simple pour un livre qui ne l'est pas vraiment et qui aborde les algorithmes en profondeur. Ce livre exhaustif présente les algorithmes et les structures de données de manière très détaillée, et constitue une ressource exhaustive pour l'enseignement supérieur. Il présente également un portail en ligne avec du code source entièrement fonctionnel.
Il aborde divers types de données et explique comment les trier et les analyser, et souligne les algorithmes importants pour les opérations de recherche, de tri et de traitement. Pour mettre en pratique toutes ces connaissances, un site Web complémentaire propose de nombreux exercices, des données de test, des visualisations et du code Java. Ce livre s'adressant plutôt au domaine de l'enseignement supérieur, il peut servir de ressource pour ceux qui souhaitent aborder le domaine.
7. « Advanced Data Structures » par Peter Brass
Auteur : Peter Brass
Site : Amazon
Ce livre souligne l'importance des structures de données dans les algorithmes et dans l'optimisation des recherches. Il s'adresse plutôt aux étudiants en second cycle et à ceux qui pratiquent la data science. Il plonge dans les aspects complexes du stockage de données dans le cadre des analyses.
Il aborde les différentes structures de données et leurs variantes de manière détaillée, notamment les piles, les files, les tables de hachage ou les arbres de recherche. Il inclut également des structures plus spécialisées, comme les arbres d'intervalles. Les différents chapitres fournissent des exemples de code en C et des références pour mettre le contenu en contexte. Ce livre aborde de nombreuses subtilités sur le stockage de données de manière détaillée et exhaustive. C'est donc un livre bien dense et bien complet !
8. « Automate This: How Algorithms Came To Rule Our World » par Christopher Steiner
Auteur : Christopher Steiner
Site : Chris Steiner | Amazon
Contrairement à la plupart des autres livres qui servent de référence ou d'introduction aux algorithmes, ce livre s'intéresse à l'aspect historique des algorithmes et explique comment ils ont pris une place de plus en plus importante dans notre quotidien en automatisant des tâches qui étaient autrefois manuelles.
Les algorithmes sont aujourd'hui utilisés pour l'aide à la conduite, pour optimiser les contenus de divertissement ou pour prédire le comportement humain. Ce livre est un examen approfondi des algorithmes pour rendre leur côté hermétique plus accessible.
Avis de non-responsabilité : Tableau ne soutient pas les produits présentés et les opinions formulées. De ce fait, cette page ne fait partie d'aucun programme d'affiliation. Le présent article est proposé dans un objectif pédagogique, et les informations sur les produits et les publications sont fournies pour aider les utilisateurs à prendre des décisions en connaissance de cause.