Les algorithmes pour les nuls

Une initiation aux algorithmes utilisés dans les programmes informatiques. ©Electre 2018

Détails bibliographiques
Auteurs principaux : Mueller John Paul (Auteur), Massaron Luca (Auteur), Rozenbaum Marc (Traducteur)
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