Les algorithmes pour les nuls
Une initiation aux algorithmes utilisés dans les programmes informatiques. ©Electre 2018
Auteurs principaux : | , , |
---|---|
Format : | Livre |
Langue : | français |
Titre complet : | Les algorithmes pour les nuls / John Paul Mueller et Luca Massaron; [traduit de l'anglais par Marc Rozenbaum] |
Publié : |
Paris :
First éditions
, DL 2017 |
Description matérielle : | 1 vol. (XIII-468 p.) |
Collection : | Pour les nuls (Paris) |
Traduction de : | Algorithms for dummies |
Sujets : |
- P. 1
- Introduction
- P. 1
- À propos de ce livre
- P. 3
- Idées reçues
- P. 4
- Icônes utilisées dans ce livre
- P. 5
- Pour aller plus loin
- P. 6
- Par où commencer ?
- P. 7
- Partie I : Pour Commencer
- P. 9
- Chapitre 1 : Introduction à l'algorithmique
- P. 10
- Décrire les algorithmes
- P. 17
- Utiliser l'informatique pour résoudre des problèmes
- P. 22
- Distinguer les problèmes et les solutions
- P. 24
- Structurer les données pour obtenir une solution
- P. 27
- Chapitre 2 : Étude de la conception des algorithmes
- P. 28
- Commencer à résoudre un problème
- P. 33
- Diviser pour régner
- P. 36
- La gloutonnerie n'est pas toujours un vilain défaut
- P. 39
- Calculer les coûts et suivre une heuristique
- P. 42
- Évaluer les algorithmes
- P. 51
- Chapitre 3 : Utiliser Python pour faire de l'algorithmique
- P. 53
- Prendre la mesure des avantages de Python
- P. 57
- Découvrir les modules de Python
- P. 61
- Installer Python sous Linux
- P. 62
- Installer Python sous macOS (https://fr.wikipedia.org/wiki/MacOS)
- P. 64
- Installer Python sous Windows
- P. 68
- Télécharger les jeux de données et le code exemple
- P. 79
- Chapitre 4 : Utiliser Python pour la programmation algorithmique
- P. 81
- Travailler avec des nombres et des règles logiques
- P. 87
- Créer et utiliser des chaînes
- P. 89
- Interagir avec des dates
- P. 90
- Créer et utiliser des fonctions
- P. 95
- Utiliser des instructions conditionnelles et des boucles
- P. 100
- Stocker des données à l'aide d'ensembles, de listes et de tuples
- P. 104
- Définir des itérateurs utiles
- P. 105
- Indexer les données à l'aide de dictionnaires
- P. 107
- Chapitre 5 : Effectuer des manipulations de données essentielles à l'aide de Python
- P. 108
- Effectuer des calculs avec des vecteurs et des matrices
- P. 117
- Créer des combinaisons de la bonne manière
- P. 121
- Obtenir les résultats désirés grâce à la récursivité
- P. 125
- Exécuter les tâches plus rapidement
- P. 131
- Partie II : L'importance du tri et de la recherche de données
- P. 133
- Chapitre 6 : Structurer les données
- P. 134
- Pourquoi les données doivent être structurées
- P. 140
- Empiler les données dans le bon ordre
- P. 145
- Exploiter les structures arborescentes
- P. 148
- Représenter les relations à l'aide d'un graphe
- P. 153
- Chapitre 7 : Organiser et rechercher les données
- P. 154
- Trier les données à l'aide du tri fusion et du tri rapide
- P. 163
- Utiliser les arbres de recherche et le tas
- P. 168
- Recourir au hachage
- P. 175
- Partie III : Explorer le monde des graphes
- P. 177
- Chapitre 8 : Assimiler les bases de la théorie des graphes
- P. 178
- Apprécier l'Importance des réseaux
- P. 184
- Comment tracer un graphe
- P. 187
- Mesurer la fonctionnalité d'un graphe
- P. 193
- Mettre un graphe sous forme numérique
- P. 197
- Chapitre 9 : Relier les points
- P. 198
- Parcourir un graphe de manière efficiente
- P. 204
- Trier les éléments du graphe
- P. 207
- Réduire à un arbre couvrant minimum
- P. 218
- Trouver le plus court chemin
- P. 225
- Chapitre 10 : Découvrir les secrets des graphes
- P. 226
- Envisager les réseaux sociaux comme des graphes
- P. 232
- Parcourir un graphe
- P. 237
- Chapitre 11 : Obtenir la bonne page Web
- P. 238
- Un moteur de recherche pour avoir le monde entier
- P. 240
- Expliquer l'algorithme PageRank
- P. 243
- Mettre en oeuvre PageRank
- P. 253
- Au-delà du paradigme de PageRank
- P. 257
- Partie IV : Dans l'univers des grandes données
- P. 259
- Chapitre 12 : Gérer les grandes données
- P. 260
- Transformer l'énergie électrique en données
- P. 268
- Gérer le flux de données
- P. 275
- Obtenir une réponse des données d'un flux
- P. 287
- Chapitre 13 : Effectuer des opérations en parallèle
- P. 288
- Gérer des quantités colossales de données
- P. 297
- Étudier des algorithmes pour MapReduce
- P. 305
- Chapitre 14 : Compresser les données
- P. 306
- Rendre les données moins volumineuses
- P. 323
- Partie V : Traiter des problèmes difficiles
- P. 325
- Chapitre 15 : Travailler avec des algorithmes gloutons
- P. 326
- Quand faut-il être glouton ?
- P. 333
- Trouver l'utilité qu'il peut y avoir à être glouton
- P. 343
- Chapitre 16 : Utiliser la programmation dynamique
- P. 344
- Expliquer la programmation dynamique
- P. 353
- Découvrir les meilleures formules dynamiques
- P. 367
- Chapitre 17 : Utiliser des algorithmes probabilistes
- P. 368
- Comment fonctionne la randomisation ?
- P. 377
- Mettre de l'aléa dans votre logique
- P. 387
- Chapitre 18 : Effectuer une recherche locale
- P. 388
- La recherche locale, qu'est-ce que c'est ?
- P. 391
- Les trucs de la recherche locale
- P. 392
- Expliquer l'escalade avec les dames des échecs
- P. 398
- Résoudre la satisfiabilité des circuits booléens
- P. 400
- Résoudre 2 SAT grâce à la randomisation
- P. 407
- Chapitre 19 : Faire appel à la programmation linéaire
- P. 408
- Utiliser les fonctions linéaires comme outil
- P. 415
- Faire une application pratique de la programmation linéaire
- P. 423
- Chapitre 20 : À la découverte de l'heuristique
- P. 424
- Jouer avec les heuristiques
- P. 426
- Diriger des robots grâce à des heuristiques
- P. 430
- Expliquer les algorithmes de recherche de chemin
- P. 443
- Partie VI : La partie des dix
- P. 445
- Chapitre 21 : Dix algorithmes qui sont en train de changer le monde
- P. 446
- Utiliser des routines de tri
- P. 447
- Des programmes et des sous-programmes de recherche
- P. 447
- Faire bouger les choses avec les nombres au hasard
- P. 448
- Pratiquer la compression des données
- P. 448
- Garder les données secrètes
- P. 449
- Changer le domaine des données
- P. 450
- Analyser les liens
- P. 451
- Repérer les schémas de données
- P. 451
- Gérer l'automatisation et les réponses automatiques
- P. 452
- Créer des Identifiants uniques
- P. 453
- Chapitre 22 : Dix problèmes d'algorithmique non encore résolus
- P. 454
- Trouver des expressions pour la recherche dans les textes
- P. 455
- Différencier des mots
- P. 455
- Déterminer si un programme finira par s'arrêter
- P. 456
- Créer et utiliser des fonctions à sens unique
- P. 456
- Multiplier des nombres vraiment très grands
- P. 457
- Partager équitablement des ressources
- P. 457
- Réduire le temps de calcul de la distance d'édition
- P. 458
- Résoudre des problèmes rapidement
- P. 458
- Jouer au jeu de parité
- P. 459
- Aborder les questions spatiales
- P. 461
- Index