Les algorithmes pour les nuls
De nos jours tous les programmes informatiques comme par exemple ceux qui utilisent la compression de données ou les moteurs de recherche utilisent des algorithmes. Un algorithme permet de faire un choix dans un problème qui lui est présenté, et plus l'algorithme est puissant, plus le choix est...
Gespeichert in:
| Hauptverfasser: | , |
|---|---|
| Weitere Verfasser: | |
| Format: | Livre papier |
| Sprache: | Français |
| Veröffentlicht: |
Paris :
First éditions
DL 2017.
|
| Schriftenreihe: | Pour les nuls
|
| Schlagworte: | |
| Anmerkung: |
La couv. porte en plus : "Avec les Nuls, tout devient facile !", "La conception des algorithmes", "Utiliser Python pour la programmation algorithmique", "Les bases de la théorie des graphes", "Utiliser la programmation dynamique" et "La découverte de l'heuristique" |
| Autres localisations: | Voir dans le Sudoc |
Inhaltsangabe:
- 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

