Programmation avancée

Dimension: px
Commencer à balayer dès la page:

Download "Programmation avancée"

Transcription

1 Programmation avancée Chapitre 1 : Complexité et les ABR (arbres binaires de recherche) 1 1 IFSIC Université de Rennes-1 M2Crypto, octobre 2011

2 Plan du cours

3 Algorithmes Définition Algorithme : spécification bien définie d un schéma de calcul sous forme d une suite (finie) des opérations élémentaires obéissant à un enchaînement déterminé décrit par des spécifications traduit par un programme dans un langage informatique devant être exécuté sur une machine (éventuellement) sur un jeu de données

4 Objectifs : quantifier le temps d exécution la place mémoire nécessaire pour exécuter le programme. On s intéresse donc au temps d exécution et à la place mémoire de stockage des instructions et des données du programme et de manipulation des données. But : comparer des rithmes.

5 Résumé sur une machine donnée : On souhaite pouvoir dire l A, implémenté par le programme P, sur l ordinateur O, exécute sur les données D utilise k secondes de calcul et j bits de mémoire. Temps : nombre de cycles machine lors de l exécution du programme en comptant le nombre d opérations effectuées et le temps pour chaque opération. Place mémoire : nombre de mots mémoire.

6 Résultats plus généraux, indépendants de la machine, du langage de programmation, des compilateurs,..., liés à la machine donnée. la machine, le langage, A 1 est meilleur que A 2 pour des données de grande taille (à partir de telle taille). ou bien A 1 est optimal (en nombre de opérations) pour résoudre ce problème.

7 Choix des mesures : recherche des opérations fondamentales tq le temps d exécution soit toujours proportionnel au nombre de ces opérations. Donc donne une mesure simplifiée du temps d exécution. Exemples d opérations fondamentales : recherche d un élément dans une liste : nombre de comparaisons entre 2 éléments recherche d un élément sur un disque ; nombre d accès à la mémoire secondaire tri interne d une liste d éléments : nombre de comparaisons entre 2 élts + nombre de déplacement d élts multiplication de matrices : nombre de * et de +

8 Choix des mesures : recherche des opérations fondamentales tq le temps d exécution soit toujours proportionnel au nombre de ces opérations. Donc donne une mesure simplifiée du temps d exécution. Exemples d opérations fondamentales : recherche d un élément dans une liste : nombre de comparaisons entre 2 éléments recherche d un élément sur un disque ; nombre d accès à la mémoire secondaire tri interne d une liste d éléments : nombre de comparaisons entre 2 élts + nombre de déplacement d élts multiplication de matrices : nombre de * et de +

9 Soit un A pour résoudre un problème P. Peut-on trouver un B meilleur que A ou A est-il optimal pour ce problème P? Parfois on ne connaît qu un ordre de grandeur de la complexité optimale de la classe de problèmes résolvant P. Il est établi que la résolution de problème de multiplication de 2 matrices n n demande au moins n? multiplications. un de n lg 7 (Strassen) et en n 2,376. Mieux?

10 L approche Séparer le problème en plusieurs sous problèmes similaires au problème initial, mais de taille moindre, résoudre les sous problèmes de façon récursive, puis combiner ces solutions pour retrouver une solution au problème initial. Diviser le problème en un certain nombre de sous problèmes. Régner sur les sous problèmes en les résolvant récursivement. Par ailleurs, si la taille d un sous problème est assez réduite, on peut le résoudre directement. Combiner les solutions aux sous problèmes en une solution complète pour le problème initial.

11 Tri fusion Diviser : Diviser la séquence de n éléments à trier en 2 sous séquences de n/2 éléments. Régner : Trier les 2 sous séquences récursivement à l aide du tri fusion. Combiner : Fusionner les 2 sous séquences triées pour produire la réponse triée. void mergesort(item[] a, int l, int r) { if (l < r) { int m = (l+r)/2; mergesort(a,l,m); mergesort(a,m+1,r); merge(a,l,m,r); } }

12 du tri fusion Diviser : Se fait en temps constant. Régner : 2 pb de taille n/2, donc 2T(n/2). Combiner : merge prend un temps Θ(n). Donc { Θ(1), si n = 1 T(n) = 2T(n/2)+Θ(n), si n > 1 Mais comment trouver la solution sous forme close?

13 Compromis temps mémoire L rithme de chiffrement DES a des clés de 56 bits. La recheche exhaustive nécessite donc 2 k 1 opérations de chiffrement en moyenne. Considérons maintenant le chiffrement double : le texte chiffré est chiffré une nouvelle fois avec une autre clé, indépendante de la première. Naïvement, la recherche exhaustive nécessiterait 2 2k 1 opérations en moyenne.

14 Attaque par le milieu (meet in the middle) Une attaque dite par le milieu (meet-in-the-middle) réduit le temps à 2 k opérations, au prix d espace mémoire considérable 2 k. On effectue des chiffrements du texte clair par toutes les clés possibles et on les range dans une table. Puis on effectue un déchiffrement du texte chiffré par toutes les clés possibles. Enfin on compare ensuite les deux listes pour trouver des textes identiques. Une deuxième paire texte clair/texte chiffré permet d éliminer les paires de clés incorrectes. Donc, le chiffrement double n est jamais utilisé.

15 Attaque d anniversaires sur les fonctions de hachage Une fonction de hachage cryptographique envoie des mots binaires de taille arbitraire sur des mots binaires de taille fixe n. Cela sert par exemple dans la signature électronique. Mais il faut que le signataire ne puissent pas prétendre à avoir signé un autre message. Donc, il faut qu il soit infaisable de trouver 2 messages avec la même valeur de hachage. Combien de tests faut-il effectuer (en prenant 2 messages au hasard à chaque fois) pour trouver une collision?

16 Définition d un ABR Définition Un arbre binaire de recherche (ABR) est un arbre binaire t.q. les n nœuds de l arbre représentent les n éléments de l ensemble, et pour tout nœud n tous les nœuds du sous arbre gauche, s il en existe, ont une valeur inférieure ou égale à celle de n tous les nœuds du sous-arbre droit, s il en existe, ont une valeur(strictement)supérieure ou égale à celle de n Une lecture symétrique donne les éléments dans l ordre croissant. Les sous arbres gauche et droit sont aussi des ABR.

17 Définition d un ABR Définition Un arbre binaire de recherche (ABR) est un arbre binaire t.q. les n nœuds de l arbre représentent les n éléments de l ensemble, et pour tout nœud n tous les nœuds du sous arbre gauche, s il en existe, ont une valeur inférieure ou égale à celle de n tous les nœuds du sous-arbre droit, s il en existe, ont une valeur(strictement)supérieure ou égale à celle de n Une lecture symétrique donne les éléments dans l ordre croissant. Les sous arbres gauche et droit sont aussi des ABR.

18 Définition d un ABR On considère l ABR repéré par un pointeur sur sa. (Si le sous arbre dans lequel on cherche es vide, alors échec.) type abr = noeud*; struct noeud { item val; abr g,d; }

19 dans un ABR Principe de la recherche dans un ABR : comparer l élément cherché x à la valeur de la de l arbre. si x = val(a), alors succès si x > val(a), alors recherche dans le sous arbre droite d(a) si x < val(a), alors recherche dans le sous arbre gauche d(a)

20 Adjonction aux On compare l élément à la pour savoir si l ajout sera dans le sous arbre gauche ou droit et on rappelle la procédure récursivement. Le dernier appel récursif se fait sur un arbre vide et on a alors à cette place le nœud contenant l élément à ajouter.

21 Adjonction à la On peut ajouter un élément à n importe quel niveau, en particulier à la. L adjonction à la peut présenter un intérêt si on désire privilégier l accès au(x) dernier(s) élément(s). 2 étapes : on coupe l arbre A en A 1 et A 2 t.q. A 1 contienne les éléments inférieurs à x et A 2 les éléments supérieurs, et puis on construit l arbre. Remarque : on ne visite que les nœuds situés sur le chemin suivi lors de la recherche de X à partir de la.

22 Adjonction à la On peut ajouter un élément à n importe quel niveau, en particulier à la. L adjonction à la peut présenter un intérêt si on désire privilégier l accès au(x) dernier(s) élément(s). 2 étapes : on coupe l arbre A en A 1 et A 2 t.q. A 1 contienne les éléments inférieurs à x et A 2 les éléments supérieurs, et puis on construit l arbre. Remarque : on ne visite que les nœuds situés sur le chemin suivi lors de la recherche de X à partir de la.

23 Adjonction à la On peut ajouter un élément à n importe quel niveau, en particulier à la. L adjonction à la peut présenter un intérêt si on désire privilégier l accès au(x) dernier(s) élément(s). 2 étapes : on coupe l arbre A en A 1 et A 2 t.q. A 1 contienne les éléments inférieurs à x et A 2 les éléments supérieurs, et puis on construit l arbre. Remarque : on ne visite que les nœuds situés sur le chemin suivi lors de la recherche de X à partir de la.

24 Adjonction à la On peut ajouter un élément à n importe quel niveau, en particulier à la. L adjonction à la peut présenter un intérêt si on désire privilégier l accès au(x) dernier(s) élément(s). 2 étapes : on coupe l arbre A en A 1 et A 2 t.q. A 1 contienne les éléments inférieurs à x et A 2 les éléments supérieurs, et puis on construit l arbre. Remarque : on ne visite que les nœuds situés sur le chemin suivi lors de la recherche de X à partir de la.

25 Adjonction à la void coupure(item x, abr A, abr& G, abr& D) { abr X, Y; if (A == null) then { G = null; D = null; } else if x >= val(a) then { coupure(x, d(a), X, Y); d(a) = X; G = A; D = Y; } else { coupure(x, g(a), X, Y); g(a) = Y; G = X; D = A; } }

26 Adjonction à la void coupure(item x, abr A, abr& G, abr& D) { if (A == null) then { G = null; D = null; } else if (x >= val(a)) then { G = A; coupure(x, d(a), d(g), D); } else { D = A; coupure(x, g(a), G, g(d)); } }

27 Adjonction à la void ajout_(item x, abr A) { abr R = new abr(); val(r) = x; coupure(x, A, g(r), d(r)); A = R; }

28 dans un ABR suppression d une feuille : cas simple suppression d un nœud n ayant qu un fils : remettre le fils à la place suppression d un nœud ayant 2 fils : il faut chercher l élément immédiatement supérieur ou inférieur (SUPMIN ou SUPMAX), l échanger avec le nœud à supprimer, et supprimer le nœud SUPMIN ou SUPMAX.

29 recherche/adjonction/suppression Dans le cas d un succès = 2 * profondeur(x) + 1 Dans le cas d un échec = 2 * (profondeur(y) + 1) : profondeur(y) + 1 : profondeur(y) + 1 : même que la recherche de x dans l arbre + complexité de supmax

30 Profondeur d un nœud dans un ABR Profondeur des arbres : entre 0 et n-1 (arbres dégénérés). Donc θ(n), la même que pour les listes. Profondeur des arbres bien équilibrés : θ(log n).

31 Profondeur dans les ABR aléatoires On considère que toutes les permutations des valeurs sont équiprobables. Exemple : n = 3. On peut montrer que la profondeur moyenne dans un ABR est de l ordre de log 2 (n). Pour les nœuds internes PI(n) = 1(1+ 1 n )H n 4. Pour les nœuds externes PE(n) = 2H n+1 2, où H n = n i=1 1 n.

32 Complexité dans les ABR max rech+ (n) = max supp (n) = 2n 1 max rech (n) = 2n max ajout (n) = n moy rech+ (n) = moy supp (n) = θ(log n) = 2PI n + 1 moy rech (n) = 2PE n moy ajout (n) = PE n Conclusion : en moyenne θ(log n) en pire θ(n)

33 Complexité dans les ABR max rech+ (n) = max supp (n) = 2n 1 max rech (n) = 2n max ajout (n) = n moy rech+ (n) = moy supp (n) = θ(log n) = 2PI n + 1 moy rech (n) = 2PE n moy ajout (n) = PE n Conclusion : en moyenne θ(log n) en pire θ(n)

34 Complexité dans les ABR max rech+ (n) = max supp (n) = 2n 1 max rech (n) = 2n max ajout (n) = n moy rech+ (n) = moy supp (n) = θ(log n) = 2PI n + 1 moy rech (n) = 2PE n moy ajout (n) = PE n Conclusion : en moyenne θ(log n) en pire θ(n)

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com SUPPORT DE COURS Matière : Algorithmiques et Structures de Données 1 Niveau : 2 ème Année Licence en Informatique

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie. Cours 3/8 - Chiffrement asymétrique Cryptographie Cours 3/8 - Chiffrement asymétrique Plan du cours Différents types de cryptographie Cryptographie à clé publique Motivation Applications, caractéristiques Exemples: ElGamal, RSA Faiblesses,

Plus en détail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 1 Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 2 Introduction Pourquoi pair à pair? Utilisation de ressources

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

INF601 : Algorithme et Structure de données

INF601 : Algorithme et Structure de données Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques

Plus en détail

IFT3245. Simulation et modèles

IFT3245. Simulation et modèles IFT 3245 Simulation et modèles DIRO Université de Montréal Automne 2012 Tests statistiques L étude des propriétés théoriques d un générateur ne suffit; il estindispensable de recourir à des tests statistiques

Plus en détail

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Algorithmique et Programmation

Algorithmique et Programmation École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................

Plus en détail

Analyse de PRESENT avec peu de données

Analyse de PRESENT avec peu de données Analyse de PREENT avec peu de données (Un tour de plus dans les attaques meet-in-the-middle) María Naya-Plasencia 1, Bastien Vayssière 2 1:INRIA Rocquencourt 2:PRIM, Université de Versailles 12 octobre

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2. DTIC@Alg 2012 16 et 17 mai 2012, CERIST, Alger, Algérie Aspects techniques et juridiques de la signature électronique et de la certification électronique Mohammed Ouamrane, Idir Rassoul Laboratoire de

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Calculs de probabilités

Calculs de probabilités Calculs de probabilités Mathématiques Générales B Université de Genève Sylvain Sardy 13 mars 2008 1. Définitions et notations 1 L origine des probabilités est l analyse de jeux de hasard, tels que pile

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Domain Name Service (DNS)

Domain Name Service (DNS) Domain Name Service () 1 PLAN Introduction Nommage avec /etc/hosts Principe du découpage en domaines Configuration de BIND Création d une zone Outils de débuggage (dig, nslookup) Déclaration d une zone

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

Résolution de noms. Résolution de noms

Résolution de noms. Résolution de noms cb (Z:\Polys\Internet de base\12.dns.fm- 29 mars 2011 14:58) PLAN Introduction Noms des domaines de noms Principe de la résolution de noms Conclusion Bibliographie A. Fenyo, F. LeGuern, S. Tardieu, Se

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

Gestion des Clés Publiques (PKI)

Gestion des Clés Publiques (PKI) Chapitre 3 Gestion des Clés Publiques (PKI) L infrastructure de gestion de clés publiques (PKI : Public Key Infrastructure) représente l ensemble des moyens matériels et logiciels assurant la gestion des

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Utilitaires méconnus de StrataFrame

Utilitaires méconnus de StrataFrame Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements

Plus en détail

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Petite introduction aux protocoles cryptographiques. Master d informatique M2 Petite introduction aux protocoles cryptographiques Master d informatique M2 Les protocoles cryptographiques p.1/48-1 Internet - confidentialité - anonymat - authentification (s agit-il bien de ma banque?)

Plus en détail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

TD : Codage des images

TD : Codage des images TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté Compétences travaillées : Mettre en œuvre un protocole expérimental Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Damien Stehlé LIP CNRS/ENSL/INRIA/UCBL/U. Lyon Perpignan, Février 2011 Damien Stehlé Problèmes arithmétiques issus de la cryptographie

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Probabilités (méthodes et objectifs)

Probabilités (méthodes et objectifs) Probabilités (méthodes et objectifs) G. Petitjean Lycée de Toucy 10 juin 2007 G. Petitjean (Lycée de Toucy) Probabilités (méthodes et objectifs) 10 juin 2007 1 / 19 1 Déterminer la loi de probabilité d

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités Chapitre 2 Le calcul des probabilités Equiprobabilité et Distribution Uniforme Deux événements A et B sont dits équiprobables si P(A) = P(B) Si il y a équiprobabilité sur Ω, cad si tous les événements

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Résolution de noms. Résolution de noms

Résolution de noms. Résolution de noms cb (C:\Documents and Settings\bcousin\Mes documents\enseignement\res (UE18)\12.DNS.fm- 25 janvier 2009 13:15) PLAN Introduction Noms des domaines de noms Principe de la résolution de noms La résolution

Plus en détail

Structures dynamiques Listes chaînées

Structures dynamiques Listes chaînées TC Informatique Structures de données abstraites PC N 4 30 Novembre 2000 François Siion Structures dynamiques Listes chaînées http://w3.edu.poytechnique.fr/informatique Représenter un ensembe d'ééments

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

Plus en détail

4. Les structures de données statiques

4. Les structures de données statiques 4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Protocoles cryptographiques

Protocoles cryptographiques MGR850 Hiver 2014 Protocoles cryptographiques Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan Motivation et Contexte Notations Protocoles

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

d évaluation Objectifs Processus d élaboration

d évaluation Objectifs Processus d élaboration Présentation du Programme pancanadien d évaluation Le Programme pancanadien d évaluation (PPCE) représente le plus récent engagement du Conseil des ministres de l Éducation du Canada (CMEC) pour renseigner

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Probabilité. Table des matières. 1 Loi de probabilité 2 1.1 Conditions préalables... 2 1.2 Définitions... 2 1.3 Loi équirépartie...

Probabilité. Table des matières. 1 Loi de probabilité 2 1.1 Conditions préalables... 2 1.2 Définitions... 2 1.3 Loi équirépartie... 1 Probabilité Table des matières 1 Loi de probabilité 2 1.1 Conditions préalables........................... 2 1.2 Définitions................................. 2 1.3 Loi équirépartie..............................

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail