Description
Tri par fusion, algorithme de Knuth : pourquoi la stratégie diviser pour régner change tout en informatique ?
Sommaire
Méthodes de programmation et architectures
D’abord, vous dominez les méthodes de programmation fondamentales.
Ensuite, vous implémentez des architectures logicielles complexes.
Pour commencer, vous prenez en main le cycle de vie d’un logiciel.
Ainsi, vous jetez les bases d’une conception fonctionnelle descendante rigoureuse.
Après cela, vous rédigez des cahiers des charges et des dossiers de spécification précis.
Puis, vous maîtrisez la puissance des algorithmes itératifs et récursifs.
À ce stade, vous analysez de manière critique leurs avantages respectifs.
Enfin, vous appliquez la stratégie diviser pour régner.
De cette façon, vous apprenez le tri par fusion et l’algorithme de Knuth.
Complexité algorithmique et langages
Désormais, vous calculez la complexité de vos algorithmes.
De plus, vous comparez les performances en langages Pascal et Caml.
Effectivement, vous appliquez une démarche analytique stricte.
Pour ce faire, vous étudiez les ordres de grandeur en temps.
De la sorte, vous intégrez les conventions de notation des concours.
Aussi, vous résolvez des équations de récurrences linéaires complexes.
Grâce à cela, vous anticipez précisément le comportement de vos scripts.
Par la suite, vous évaluez concrètement des calculs de PGCD.
Finalement, vous programmez directement ces solutions en PASCAL et en Caml.
Structures de données et automates
Dorénavant, vous manipulez des structures de données avancées.
En outre, vous validez les fondements théoriques des automates finis.
Certes, cette émancipation technique fluidifie grandement votre progression.
D’abord, vous assimilez le fonctionnement dynamique des listes et des piles.
Immédiatement, vous apprenez à piloter des arbres binaires équilibrés.
Puis, vous étudiez les automates finis non déterministes.
De surcroît, vous analysez la sémantique du calcul propositionnel.
Bientôt, vous découvrez le calcul formel et les circuits logiques élémentaires.
Par conséquent, vous acquérez une maîtrise absolue pour vos épreuves.
–Caractéristiques–
-
Titre : Option informatique en classes prépas (MPSI – MP)
-
Auteur : Claude Bocage, Olivier Friedel, Vidal-Naquet Guy
-
Édition : Edition Ellipses
-
Dimensions : 17,5 x 26,0 x 1,4 cm
-
Nombre de pages : 224 pages
-
Dépôt légal : 1997
-
Code : 9782729857004
Claude Bocage, Olivier Friedel, Vidal-Naquet Guy
Envoi soigné et Déposé en 48h (jours ouvrables) Edition Ellipses 17,5 x 26,0 x 1,4 cm 224 pages depot légal:1997 Bon Etat : coins légèrement écornés
Résumé
Préparation aux concours et stratégie de réussite
D’abord, vous donnez un élan décisif à votre préparation pour les concours de l’option informatique.
En effet, trois experts de l’enseignement supérieur conçoivent ce manuel de référence indispensable.
De plus, cet ouvrage vous offre les clés pour maîtriser la complexité algorithmique et l’abstraction logicielle.
Ainsi, vous transformez les concepts théoriques les plus ardus en outils de résolution concrets.
Par conséquent, ce livre devient votre allié stratégique pour viser Polytechnique, les ENS ou les Mines.
Finalement, vous convertissez vos efforts en une note maximale aux épreuves écrites et orales.
Développement des compétences scientifiques
Désormais, vous développez une logique de programmation d’élite grâce à une approche rigoureuse.
Pour ce faire, vous maîtrisez le cycle de vie d’un logiciel et la conception descendante.
En outre, vous étudiez les algorithmes avancés de type diviser pour régner.
C’est pourquoi vous codez le tri par fusion avec la précision d’un ingénieur.
Rapidement, vous calculez la complexité de vos algorithmes sans le moindre effort.
De la sorte, vous évaluez les ordres de grandeur dans le cas moyen et le pire.
Également, vous résolvez avec méthode les équations de récurrences linéaires complexes.
Implémentation, structures et logique formelle
Parallèlement, vous maîtrisez les doubles implémentations clés exigées par les concours officiels.
En pratique, vous programmez chaque algorithme à la fois en PASCAL et en Caml.
Bien entendu, cette double compétence vous protège contre toutes les exigences du sujet.
Dorénavant, vous structurez vos données pour obtenir une efficacité maximale dans vos programmes.
Notamment, vous dominez les listes récursives, les piles et les expressions postfixées.
De surcroît, vous manipulez les arbres binaires équilibrés et les structures n-aires.
Enfin, vous validez la théorie des langages ainsi que les concepts de la logique formelle.
Précisément, vous assimilez la sémantique du calcul propositionnel et les automates non déterministes.
Pour conclure, vous maîtrisez les expressions régulières et le calcul formel de dérivées.
Table des matières
MÉTHODES DE PROGRAMMATION …… 1
1.1 Préambule …… 1
1.2 Cycle de vie d’un logiciel …… 2
1.3 Conception du logiciel …… 3
1.4 Conception fonctionnelle descendante …… 5
1.5 Documentation des programmes …… 7
1.5.1 Cahier des charges …… 7
1.5.2 Dossier de spécification …… 7
1.5.3 Dossier de conception détaillée …… 7
1.5.4 Listings des programmes commentés …… 7
1.5.5 Jeux de tests unitaires et d’intégration …… 11
1.6 Itération …… 11
1.6.1 Correction et terminaison des algorithmes itératifs …… 12
1.7 Récursivité …… 14
1.7.1 Algorithmes récursifs …… 15
1.7.2 Classe des algorithmes récursifs …… 19
1.7.3 Avantages et inconvénients de la récursivité …… 23
1.8 Diviser pour régner …… 23
1.8.1 Algorithme du tri par fusion …… 23
1.8.2 Algorithme de calcul de
xnx n …… 24
1.8.3 Algorithme de Knuth : Produit de polynômes …… 27
COMPLEXITÉ DES ALGORITHMES …… 31
2.1 Notations et conventions …… 31
2.2 Objectifs …… 31
2.3 Complexité en temps …… 33
2.3.1 Définitions et exemples …… 33
2.3.2 Complexité dans le cas moyen, le meilleur et le pire …… 36
2.3.3 Ordres de grandeur …… 39
2.4 Techniques d’analyse …… 41
2.4.1 Récurrences linéaires d’ordre 1 …… 42…42
vi Table des matières
2.4.2 Récurrences linéaires d’ordre 1 à coefficients constants ……43
2.4.3 Récurrences linéaires complètes ……44
2.4.4 Récurrence
un=un−1+a⋅n+bu n =u n−1 +a⋅n+b ……45
2.4.5 Récurrence
un=a⋅un−1+b⋅un−2+c⋅nu n =a⋅u n−1 +b⋅u n−2 +c⋅n ……47
2.4.6 Récurrence
un=2⋅un−1+f(n)u n =2⋅u n−1 +f(n) ……51
2.5 Comparaisons d’algorithmes ……54
2.5.1 Calcul de PGCD ……54
2.5.2 Calcul de puissances ……56
2.5.3 Evaluation d’un polynôme ……57
2.5.4 Suites récurrentes ……59
2.6 Programmation des algorithmes en PASCAL ……62
2.6.1 Tri par sélection ……62
2.6.2 Tri par insertion itératif ……63
2.6.3 Tri par insertion récursif ……63
2.6.4 Recherche dichotomique ……64
2.6.5 Tri par fusion ……64
2.7 Programmation des algorithmes en Caml ……65
2.7.1 Tri par sélection ……65
2.7.2 Tri par insertion itératif ……66
2.7.3 Tri par insertion récursif ……66
2.7.4 Recherche dichotomique ……66
STRUCTURES DE DONNÉES ET ALGORITHMES ……67
3.1 Préambule et conventions ……67
3.2 Le type Liste ……69
3.2.1 Définitions ……69
3.2.2 Liste “itérative” ……69
3.2.3 Liste récursive ……91
3.3 Le type Pile ……102
3.3.1 Définitions ……102
3.3.2 Spécification ……103
3.3.3 Implémentation ……103
3.3.4 Un exemple d’utilisation des piles : évaluation d’expression postfixée ……108
3.4 Arbres ……111
3.4.1 Arbres binaires ……111
3.4.2 Arbres et expressions arithmétiques ……121
3.4.3 Arbres n-aires ……123
3.4.4 Arbres binaires équilibrés ……138
L’ANGAGES ET AUTOMATES FINIS ……141…141
Option Informatique pour les classes préparatoires vii
4.1 Introduction …… 153
4.2 Alphabets et mots …… 153
4.3 Langages …… 154
4.4 Automates Finis …… 155
4.5 Représentation d’un automate fini par un graphe …… 158
4.6 Automates non déterministes …… 160
4.7 Équivalence des automates déterministes et non déterministes …… 163
4.8 Caractérisation des langages reconnaissables par automate fini …… 166
4.9 Expressions régulières (ou rationnelles) …… 170
4.10 Limitations des automates finis …… 174
5. CALCUL PROPOSITIONNEL …… 177
5.1 Introduction …… 177
5.2 Syntaxe du calcul propositionnel …… 177
5.3 Sémantique des formules du calcul propositionnel …… 180
5.4 Formules de calcul des propositions et fonctions booléennes …… 183
5.5 Formes normales des formules du calcul propositionnel …… 187
5.6 Systèmes de connecteurs …… 192
5.7 Application aux circuits logiques élémentaires …… 194
5.8 Application à la réalisation d’un additionneur élémentaire …… 197
6. CALCUL DES PRÉDICATS ET CALCUL FORMEL …… 201
6.1 Introduction …… 201
6.2 Syntaxe des formules …… 201
6.3 Sémantique des formules …… 204
6.4 Introduction au calcul formel …… 207
6.5 Calcul de la dérivée formelle d’une expression algébrique …… 209
6.6 Passage d’un système de connecteurs à un autre …… 210
BIBLIOGRAPHIE …… 211
INDEX …… 213
Quatrième de couverture
Présentation de l’ouvrage
L’Informatique, en tant que discipline, est désormais présente dans les concours d’entrée aux Grandes Écoles. Cet ouvrage est destiné aux élèves des classes préparatoires et couvre la totalité du programme de l’option Informatique. Il est agrémenté de nombreux exemples, que les auteurs ont choisi de transcrire aussi bien en CAML qu’en PASCAL.
Informations sur les auteurs
Claude Bocage et Olivier Friedel sont professeurs à l’École Supérieure d’Électricité. Guy Vidal-Naquet est professeur à l’École Supérieure d’Électricité et à l’Université Paris-Sud.
Référence ISBN
ISBN 2-7298-5700-1
















Avis
Il n’y a pas encore d’avis.