I Arbres binaires. Lycée Faidherbe Rappels Définition Dénombrements Parcours... 3

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

Download "I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3"

Transcription

1 I Arbres binaires Table des matières 1 Rappels Définition Dénombrements Parcours Arbres binaires de recherche Types de données abstraits Définitions Recherche Insertion aux feuilles Insertion à la racine Suppression Exercices Arbres parfaits Longueur de cheminement Utilisation des parcours Caractérisation des A.B.R Tri avec A.B.R Parcours de recherche Fusion Successeurs et prédécesseurs Nombre de constructions Vérification Complexité moyenne d une recherche Rang et rang local

2 Option informatique, deuxième année 1 Rappels 1.1 Définition Arbres binaires homogènes Nous allons utiliser une définition simplifiée d arbres binaires homogènes. Définition. Un arbre binaire est soit l arbre vide soit l assemblage d une racine et de deux arbres. Ces deux arbres sont ordonnés : il y a le fils gauche et le fils droit. La définition et la décomposition d un arbre suivent ce schéma récursif : type n arbre_bin = Vide Noeud of ( n arbre_bin* n * n arbre_bin);; let filsg = function Noeud (g,_,_) -> g;; let filsd = function Noeud (_,_,d) -> d;; let racine = function Noeud (_,n,_) -> n;; Notons que les racines des fils deviennent alors des nœuds de l arbre. Les nœuds dont les deux fils sont vides sont des nœuds terminaux. Nous n envisagerons que des arbres finis, c est-à-dire que l on construit par un ensemble fini d assemblages. L ensemble des arbres finis de type n est le plus petit ensemble contenant l arbre vide et stable par la construction d assemblage ordonné d un élément de n et de deux arbres. 1.2 Dénombrements La taille d un arbre est le nombre de nœuds : let rec taille = function Vide -> 0 Noeud (g,_,d) -> 1 + taille g + taille d;; On a vu que la taille (c est-à-dire le nombre de nœuds internes) est égal au nombre de feuilles (les sous-arbres vides) augmenté de 1. La profondeur d un nœud est le nombre total de relations de parenté entre la racine et lui. La racine est à une profondeur de 0, ses fils ont une profondeur de 1. La profondeur des fils d un nœud est égale à la profondeur du père augmentée de 1. La hauteur d un arbre est la profondeur de nœud maximale. Elle est atteinte pour une nœud terminal. Par convention la hauteur de l arbre vide est -1. let rec hauteur = function Vide -> -1 Noeud (g,_,d) -> 1 + max (hauteur g) (hauteur d);; 2 I Arbres binaires

3 Option informatique, deuxième année Lien entre hauteur et taille Théorème. La taille n et la hauteur h d un arbre binaire vérifient h + 1 n 2 h+1 1 log 2 (n + 1) 1 h n 1 Descendre dans une branche d arbre demande au plus h recherche de fils : le fait que h puisse être de l ordre de log 2 (n) est la source de nombreuses applications des arbres. Démonstrations Le théorème précédent comme beaucoup de démonstrations concernant les arbres peut se faire par récurrence, sur h ou sur n puisque les sous-arbres droit et gauche ont des hauteurs et tailles strictement inférieures par induction structurelle : 1. si une propriété est vraie pour les arbres vides 2. si, lorsqu elle est vraie pour deux arbres a1 et a2, alors elle est vraie pour Noeud k a1 a2 3. on peut conclure qu elle est vraie pour tous les arbres. 1.3 Parcours Parcourir un arbre (binaire) consiste à énumérer ses éléments : cela revient à transformer la structure bidimensionnelle de l arbre en une liste linéaire. Les parcours classiques traitent entièrement le fils gauche avant le fils droit à chaque hauteur. Il y a trois possibilités de traitement de la racine Ordre préfixe : on traite la racine puis les fils. C est l écriture des composées de fonctions de deux variables. Ordre infixe : on traite le fils gauche puis la racine puis le fils droit. C est l écriture des expressions arithmétiques. Ordre postfixe (ou suffixe) : on traite les fils puis la racine. Exemple let infixe a = let rec infx = function Vide -> print_string "-" Noeud (Vide,n,Vide) -> print_int n Noeud (g,n,d) -> print_string "("; infx g; print_string ","; print_int n; print_string ","; infx d; print_string ")" in infx a; print_newline;; I Arbres binaires 3

4 Option informatique, deuxième année 2 Arbres binaires de recherche 2.1 Types de données abstraits Nous avons parfois besoin de structure de données définies abstraitement qui doivent remplir un cahier des charges : elles manipulent des données d un certain type les opérations sont définies à l avance avec leur ensemble de définition et les axiomes qu elles doivent vérifier. On peut alors traduire ces contraintes par plusieurs moyens, en général on essaiera de faire en sorte que les opérations importantes aient une complexité faible. La structure effective employée n est pas signifiante. Type Ensemble On souhaite définir une structure d ensemble d éléments (par exemple des entiers) avec les fonctions vide qui crée un ensemble vide estvide e qui teste si un ensemblee vide ajoute x e qui ajoute l élément x à l ensemble e retire x e qui enlève x de e appartient x e qui teste si x appartient à e Il faudrait définir les fonctions plus précisément, par exemple, définir ce qui ce passe si on enlève un élément à un ensemble qui ne le contient pas mais nous allons laisser la liberté ici. Exemples d implémentation : : une liste : l ajout se fait en temps constant mais le retrait et l appartenance vont demander un temps linéaire en la taille de l ensemble. un tableau ordonné : l appartenance est en temps logarithmique mais l ajout et le retrait sont en temps linéaire. De plus la taille maximale est fixée à l avance (sauf en Python). Nous allons présenter une structure à base d arbres binaire pour laquelle les opérations se feront en temps O(h) où h est la hauteur de l arbre dont on espère (ou on impose) qu elle soit de l ordre de log 2 (n). 2.2 Définitions Définition. Un arbre binaire de recherche est un arbre binaire tel que, tout nœud contient un champ, noté cle ou étiquette, dont les valeurs sont entières (ou décrivent un ensemble ordonné) pour tout nœud x de clé n les clés des éléments du fils gauche de x sont inférieures ou égales à n et les clés des éléments du fils droit de x sont supérieures ou égales à n. Exemple I Arbres binaires

5 Option informatique, deuxième année Implémentation La déclaration du type et les fonctions de construction et déconstruction sont les mêmes que dans le cas d un arbre binaire classique. Si on veut les employer il faut vérifier soi même que les clés sont dans le bon ordre. Dans toute la suite on va supposer que les clés sont distinctes. type n abr = Vide Noeud of ( n abr* n * n abr);; let filsg = function Noeud (g,_,_) -> g;; let filsd = function Noeud (_,_,d) -> d;; let racine = function Noeud (_,n,_) -> n;; 2.3 Recherche La recherche est simple : on descend dans l arbre en choisissant le fils gauche ou le fils droit selon que la valeur à chercher est inférieure ou supérieure à la clé du nœud. C est le principe de la recherche par dichotomie. On parcourt ainsi (partiellement) une branche de l arbre. La complexité maximale est la hauteur de l arbre. let rec chercher x = function Noeud(g,n,d) as arbre -> if (n = x) then arbre else if (x < n) then chercher x g else chercher x d;; 2.4 Insertion aux feuilles On peut ajouter un nouvel enregistrement à une feuille de l arbre : on recherche l élément et une recherche infructueuse arrive à un sous arbre Vide. On peut alors y placer l élément. Si la recherche donne un résultat on ne change rien car on s interdit les clés multiples. Ici encore la complexité est proportionnelle au nombre d appels récursifs effectués donc est de la forme O(h) où h est la hauteur de l arbre. Exemple : on ajoute 25 à l exemple initial : I Arbres binaires 5

6 Option informatique, deuxième année let rec ajouter x = function Vide -> Noeud(Vide,x,Vide) Noeud(g,n,d) as arbre -> if (n = x) then arbre else if (x < n) then Noeud((ajouter x g),n,d) else Noeud(g,n,(ajouter x d));; 2.5 Insertion à la racine On peut aussi choisir d insérer un nouveau nœud à la racine. Pour cela il faut couper l arbre en deux parties regroupant les nœuds inférieurs à la nouvelle clé et ceux qui sont supérieurs. De plus on va essayer de le faire avec un coût minimum c est à dire fonction de la hauteur et non de la taille. Le dernier arbre construit : est coupé par 17 en 6 I Arbres binaires

7 Option informatique, deuxième année on reconstruit deux arbres : puis on ajoute Algorithme de coupure On obtient les parties gauche et droite récursivement Si la clé de coupure est inférieure à la clé de la racine alors la partie gauche est la partie gauche du découpage du fils gauche (il n y a aucune clé inférieure dans le fils droit). Sinon la partie gauche est l arbre obtenu en remplaçant le fils droit de l arbre initial par la partie gauche du découpage du fils droit. De même pour la partie droite let rec decouper x = function Vide -> (Vide,Vide) Noeud(g,n,d) -> if (n = x) then (g,d) I Arbres binaires 7

8 Option informatique, deuxième année else if (x < n) then let (gg,gd) = decouper x g in (gg,noeud(gd,n,d)) else let (dg,dd) = decouper x d in (Noeud(g,n,dg),dd);; Reconstruction let ajouter_racine x a = let (g,d)= decouper x a in Noeud(g,x,d);; On a conservé la possibilité d ajouter une clé déjà existante, elle est alors éliminée des arbres gauche et droite. Cela aura comme effet de déplacer cette clé à la racine. 2.6 Suppression La suppression d un nœud demande de conserver la structure ordonnée. Il est relativement facile d imaginer comment supprimer une feuille : on la remplace par l arbre vide. Le cas d un nœud interne n est plus délicat. On se ramène au cas de la racine car il suffira de remplacer le sous arbre dont n est la racine par l arbre diminué. Choix d une racine Si on ôte la racine d un sous arbre il faut choisir un nœud à placer à la racine. Pour le faire sans trop de modification on va choisir un nœud du fils gauche et la placer à la racine. La valeur de sa clé sera inférieure à toutes les clés du fils droit et pour majorer les clés du fils gauche il faut choisir le maximum dans le fils gauche. On peut aussi choisir le minimum du fils droit. On va donc opérer en 3 étapes calculer la clé maximale du fils gauche, on cherche récursivement le fils droit sans fils droit enlever le nœud correspondant si T est le sous arbre du fils gauche dont la clé est maximale alors il n a pas de fils droit (qui, sinon, aurait des clés supérieures) ; le fils gauche de T remplace T reconstruire l arbre. Si la racine n avait pas de fils gauche le nouvel arbre serait simplement le fils droit I Arbres binaires

9 Option informatique, deuxième année let rec max = function Noeud(_,n,Vide) -> n Noeud(_,_,d) -> max d;; let rec supprmax = function Noeud(g,n,Vide) -> g Noeud(g,n,d) -> Noeud(g,n,supprMax d);; let enleverracine = function Vide -> Vide Noeud(g,n,Vide) -> g Noeud(g,n,d) -> let r = max g in Noeud(supprimerMax g,r,d);; I Arbres binaires 9

10 Option informatique, deuxième année On peut donc maintenant écrire la suppression d un nœud. let rec enlever x = function Vide -> Vide Noeud(g,n,d) as arbre -> if (n = x) then enleverracine arbre else if (x < n) then Noeud((enlever x g),n,d) else Noeud(g,n,(enlever x d));; 3 Exercices 3.1 Arbres parfaits Un arbre binaire est parfait s il est vide ou si, pour tout nœud, les hauteurs des sous arbres droit et gauche sont égales. Prouver que les arbres parfaits sont les arbres tels que n = 2 h+1 1 où h est la hauteur et n la taille. Prouver que les arbres parfaits sont les arbres pour lesquels tous les nœuds terminaux sont à la même profondeur. 3.2 Longueur de cheminement La longueur de cheminement d un arbre est la somme des hauteurs de tous les nœuds. Déterminer une fonction récursive qui calcule la longueur de cheminement d un arbre. Prouver que les arbres de taille n qui minimisent la longueur de cheminement sont ceux qui ont 2 k nœuds de profondeur k pour tout k < log 2 (n + 1). En déduire que, si LC est la longueur de cheminement d un arbre de taille n, on a 3.3 Utilisation des parcours n log 2 (k) LC k=1 n(n 1) 2 Prouver que le nœud a et un descendant du nœud b dans un arbre si et seulement si b est avant a dans le parcours préfixe et a est avant b dans le parcours postfixe. Montrer que si on connait le parcours préfixe (ou postfixe) et le parcours infixe d un arbre alors on peut reconstituer l arbre. Prouver que la liste des éléments d un arbre binaire de recherche lu en parcours préfixe permet de reconstruire l arbre. Écrire une fonction qui reconstruit l arbre à partir de deux parcours. Montrer que les nœuds terminaux sont dans le même ordre dans les parcours préfixe, infixe et postfixe. 3.4 Caractérisation des A.B.R. Prouver qu un arbre binaire est un arbre binaire de recherche si et seulement si le parcours infixe des clés de l arbre donne une suite croissante. 3.5 Tri avec A.B.R. Expliquer comment on peut utiliser les arbres binaires de recherche pour effectuer un tri. Si on admet que la hauteur moyenne d un arbre binaire de recherche de taille n est un O ( ln(n) ) déterminer la complexité, en moyenne, de ce tri. 10 I Arbres binaires

11 Option informatique, deuxième année 3.6 Parcours de recherche On suppose que tous les nombres de 1 à 800 sont les clés d un arbre binaire de recherche. Parmi le suites suivantes lesquelles ne peuvent pas être les clés d un parcours de recherche de 417? 2, 457, 1, 217, , 215, 333, 401, 4, , 403, 555, 408, 523, 411, 466, , 403, 555, 408, 563, 411, 466, , 403, 555, 411, 466, Fusion écrire une fonction Fusion a b qui joint deux arbres binaires de recherche ; on pourra utiliser les fonctions de coupure d un arbre binaire de recherche. 3.8 Successeurs et prédécesseurs Le successeur (resp. prédécesseur) d un nœud de clé k est le nœud de l arbre dont la clé suit (resp. précéde) k dans le parcours infixe. Montrer que si un nœud d un arbre binaire de recherche a deux fils alors son prédécesseur n a pas de fils droit et son successeur n a pas de fils gauche. Montrer que si n est le successeur de p dans le parcours croissant d un ABR alors soit n est le plus petit élément du fils droit de p soit p est le plus grand élément du fils gauche de n. 3.9 Nombre de constructions Déterminer tous les ordres possibles d insertion de clés à partir de l arbre vide qui donnent l arbre suivant par adjonction aux feuilles Plus généralement montrer que le nombre de permutations des clés d un arbre T, de taille n, qui engendrent l arbre par adjonctions successives aux feuilles est n! divisé par le produit des tailles de tous les sous arbres (y compris T ) de T Vérification Écrire une fonction qui teste si l arbre binaire passé en paramètre est un arbre binaire de recherche Complexité moyenne d une recherche On considère les arbres binaires de recherche construits en ajoutant à l arbre vide les nœuds de clé 1 à n dans le désordre. On suppose que les n! ordres d insertion sont équiprobables. On cherche la complexité moyenne, en nombre de comparaisons, de la recherche d une clé dans l arbre : a n. I Arbres binaires 11

12 Option informatique, deuxième année Montrer que la probabilité que la clé de la racine soit i est 1 n. On note a i,n la complexité moyenne, en nombre de comparaisons, de la recherche d une clé dans un arbre dont la racine a la clé i. Prouver que a i,n = (a i 1 + 1) i 1 n + 1 n + (a n i + 1) n i n. En déduire que a n = n 1 n 2 ia i i=1 puis que a n = 1 n 2 ( (n 2 1)a n 1 + 2n 1 ) (On pourra calculer n 2 a n (n 1) 2 a n 1 ). Prouver que a n = O ( log 2 (n) ) (On pourra poser u n = n n+1 a n) Rang et rang local Les arbres binaires de recherche considérés sont étiquetés par des entiers distincts. On appelle rang d un nœud de clé k, le nombre de nœuds de clé inférieure ou égale à k, et rang local d un nœud son rang dans le sous-arbre dont il est racine. On définit des arbres binaires en Caml par : type ab = Vide N of int * int * ab * ab;; Dans N(e, r, g, d), e est l étiquette, r est son rang local et g et d sont les deux sous-arbres gauche et droit. On suppose qu un arbre binaire est construit, mais que les champs r de chaque nœud contiennent 0. Écrire une fonction Caml qui prend l arbre en paramètre et renvoie le même arbre mais avec les champs r remplis correctement. On suppose maintenant que r est bien le rang local. Donner un algorithme qui, à un entier k contenu dans l arbre associe le rang du nœud de clé k. L algorithme doit être en O(h) où h est la hauteur de l arbre. Soit n la taille de l arbre, et m un entier compris entre 1 et n. Donner un algorithme qui renvoie la clé du nœud de rang m. 12 I Arbres binaires

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN CHAPITRE 6 Arbres binaires Lycée Kléber MPSI, Option Info 2014/2015 1 Définitions 2 Parcours en largeur Parcours en profondeur Parcours préfixe, infixe, postfixe Reconstitution 3 Recherche Complexité Insertion

Plus en détail

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Les arbres Florent Hivert

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

Plus en détail

Algorithmique et Programmation Impérative 2 Les arbres binaires de recherche

Algorithmique et Programmation Impérative 2 Les arbres binaires de recherche Algorithmique et Programmation Impérative 2 Les arbres binaires de recherche N.E. Oussous oussous@lifl.fr FIL USTL SDC - Licence p.1/16 Arbres binaires de recherche Un arbre binaire T est un arbre binaire

Plus en détail

10' - LES ARBRES BINAIRES

10' - LES ARBRES BINAIRES Ch 10' - LES ARBRES BINAIRES On va restreindre les capacités des arbres en obligeant les nœuds à posséder au maximum deux sous-arbres. Ces nouveaux arbres seront plus faciles à maîtriser que les arbres

Plus en détail

Arbres binaires de recherche et arbres rouge noir

Arbres binaires de recherche et arbres rouge noir Institut Galilée lgo, rbres, Graphes I nnée 006-007 License rbres binaires de recherche et arbres rouge noir Rappels de cours et correction du TD rbres binaires de recherche : définitions Un arbre binaire

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Cours numéro 9 : arbres binaires et de recherche

Cours numéro 9 : arbres binaires et de recherche Cours numéro 9 : arbres binaires et de recherche LI213 Types et Structures de données Licence d Informatique Université Paris 6 Arbre Arbre Un arbre est un ensemble fini A d éléments, liés entre eux par

Plus en détail

alg - Arbres binaires de recherche [br] Algorithmique

alg - Arbres binaires de recherche [br] Algorithmique alg - Arbres binaires de recherche [br] Algorithmique Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 25 avril 2015 Table des matières 1 Définition, Parcours, Représentation

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

Travaux dirigés n o 6

Travaux dirigés n o 6 Travaux dirigés n o 6 Lycée Kléber MPSI, Option Info 2014/2015 Exercice 1 (Indexation d un arbre binaire) Ecrire une fonction Caml indexation : ( f, n) arbre_binaire -> (string,string) arbre_binaire qui

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

C12. Les structures arborescentes. Août 2006

C12. Les structures arborescentes. Août 2006 Les structures arborescentes Août 2006 Objectifs du C12 Connaître le principe de la structure d arbre binaire Connaître les détails d implémentation de la structure d arbre binaire de recherche Les structures

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 6 Arbres binaires de recherche 6.1 Introduction On a étudié le problème de la recherche dans une collection d éléments ordonnés entre eux : on a montré que Pour une liste contiguë, la recherche

Plus en détail

Arbres Binaires de Recherche : Introduction

Arbres Binaires de Recherche : Introduction Arbres Binaires de Recherche : Introduction I. Guessarian cours ISN 11 janvier 2012 LIAFA, CNRS and University Paris Diderot 1/13 Arbre Binaire de Recherche Un Arbre Binaire de Recherche (ABR) est un arbre

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

Chap. VII : arbres binaires

Chap. VII : arbres binaires Chap. VII : arbres binaires 1. Introduction Arbre : collection d objets avec une structure hiérarchique Structure intrinsèque descendants d une personne (elle incluse) A ascendant connus d une personne

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

Initiation aux algorithmes des arbres binaires

Initiation aux algorithmes des arbres binaires Initiation aux algorithmes des arbres binaires Plan I. Les arbres biniaires I. Définition II. Représentation graphique d un arbre III. Terminologie IV. Représentation en mémoire des arbres binaires V.

Plus en détail

4.2 Les arbres binaires de recherche

4.2 Les arbres binaires de recherche 4.2 Les arbres binaires de recherche 4.2.1 Définition Les arbres binaires de recherche sont utilisés pour accélérer la recherche dans les arbres m-aires. Un arbre binaire de recherche est un arbre binaire

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII

ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII ALGORITHMIQUE II Récurrence et Récursivité Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui

Plus en détail

Arbres bien équilibrés

Arbres bien équilibrés Arbres bien équilibrés ENSIIE : Programmation avancée 1/24 Recherche par dichotomie on aimerait avoir des opérations de recherche, d insertion et de suppression efficaces en moyenne et dans le pire des

Plus en détail

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante :

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante : Ocaml - Exercices Exercice Définir en Ocaml les fonctions suivantes:. f : x sin x + cos x. g : x x 3x+ x x 5 3. Fonction h calculant la moyenne géométrique de deux float positifs ( xy) Exercice Ecrire

Plus en détail

Cours d Algorithmique et Complexité

Cours d Algorithmique et Complexité Cours d Algorithmique et Complexité Structures de données (2e suite) Catalin Dima Arbres binaires de recherche Propriété de base des arbres binaires de recherche Soit x un noeud de l arbre. Alors : 1.

Plus en détail

Programmation fonctionnelle

Programmation fonctionnelle 1/30 Programmation fonctionnelle Notes de cours Cours 9 23 novembre 2011 Sylvain Conchon sylvain.conchon@lri.fr 2/30 Les notions abordées cette semaine Les foncteurs Set.Make et Map.Make d Ocaml Arbres

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas 1. Arbres ordonnés 1.1. Arbres ordonnés (Arbres O) On considère des arbres dont les nœuds sont étiquetés sur un ensemble muni d'un

Plus en détail

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51 Séance de TD 05 1 Exercice 1 1. Dessinez les arbres binaires de recherche de hauteur 2,3,4,5 et 6 pour le même ensemble de clés S = 1,4,5,10,16,17,21. 2. Donnez l algorithme de l opération ArbreRechercher(x,k)

Plus en détail

Tri en Python. # on cherche k tel que a k = min(a j ) ji

Tri en Python. # on cherche k tel que a k = min(a j ) ji Tri en Python On considère ici des tableaux ou listes d entiers ou de ottants. En Python, on peut trier une liste à l aide de la méthode sort : si a est une liste d entiers ou de ottants, a.sort() modi

Plus en détail

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak Arbres Binaire PSI DAKHLA Prof Youssef El marzak 1 Prof Youssef Elmarzak 1.introduction: Les arbre sont très utilisées en informatique, d une part parce que les informations sont souvent hiérarchisées,

Plus en détail

Série d exercices N 9 Arbres

Série d exercices N 9 Arbres Série d exercices N 9 Arbres Exercice 1 a) Ecrire une fonction ARBIN creerarbreentiers() qui permet de créer et de renvoyer l arbre d entiers suivant : b) Ecrire une fonction int feuilles(arbin a) qui

Plus en détail

Exercice sur les arbres binaires de recherche

Exercice sur les arbres binaires de recherche Exercice sur les arbres binaires de recherche Voici une liste aléatoire de 1 éléments. Notez que vous pouvez faire cet exercice en prenant une autre liste aléatoire ; évidemment, il y a peu de chances

Plus en détail

Algorithmique et Structures de données Feuille 5 : Arbres binaires

Algorithmique et Structures de données Feuille 5 : Arbres binaires Université Bordeaux Algorithmique et Structures de données Feuille : Arbres binaires On considère le type abstrait arbrebinaire d objet défini en cours. Pour rappel voir annexe A. LicenceInformatique0-0

Plus en détail

Arbres binaires. Chapitre 1. 1. Introduction. option informatique. 1.1 Définition formelle d un arbre binaire

Arbres binaires. Chapitre 1. 1. Introduction. option informatique. 1.1 Définition formelle d un arbre binaire Chapitre option informatique Arbres binaires. Introduction Dans son acceptation la plus générale, un arbre est un graphe acyclique orienté enraciné : tous les sommets, à l exception de la racine, ont un

Plus en détail

Licence informatique - L3 Année 2012/2013. Conception d algorithmes et applications (LI325) COURS 2

Licence informatique - L3 Année 2012/2013. Conception d algorithmes et applications (LI325) COURS 2 Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Cette deuxième séance est entièrement consacrée aux applications du principe Diviser pour Régner. Nous regarderons

Plus en détail

Corrigé des exercices

Corrigé des exercices hapitre 1 option informatique orrigé des eercices Arbres binaires Eercice 1 La première solution qui vient à l esprit est sans doute celle-ci : let rec profondeur p = function Nil > [] a when p = 0 > [a]

Plus en détail

Programmation avancée

Programmation avancée Programmation avancée Chapitre 1 : Complexité et les ABR (arbres binaires de recherche) 1 1 IFSIC Université de Rennes-1 M2Crypto, octobre 2011 Plan du cours 1 2 3 4 5 6 7 8 9 10 Algorithmes Définition

Plus en détail

TP 8 : Arbres binaires de recherche

TP 8 : Arbres binaires de recherche TP 8 : Arbres binaires de recherche Semaine du 17 Mars 2008 Exercice 1 Dénir une structure struct noeud_s permettant de coder un n ud d'un arbre binaire contenant une valeur entière. Ajouter des typedef

Plus en détail

Algorithmique IN102 TD 3

Algorithmique IN102 TD 3 Algorithmique IN10 TD 16 décembre 005 Exercice 1 Clairement, il existe des arbres de hauteur h à h + 1 éléments : il sut pour cela que leurs n uds internes aient au plus un ls non vide. On a alors un arbre

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

1 Généralités sur les arbres

1 Généralités sur les arbres 1 Généralités sur les arbres 1.1 Graphes et arbres Définition 1.1. On appelle graphe un couple G = (V, E) d un ensemble fini V (les sommets ou noeuds) et d une partie E de V V (les arêtes). Si x, y V,

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

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Induction sur les arbres

Induction sur les arbres Induction sur les arbres Planning Motivations Comment définir les arbres? Équations récursives sur les arbres Complexité de fonctions sur les arbres Recherche dans un arbre binaire de recherche Recherche

Plus en détail

Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche

Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche Dictionnaires ordonnés: Opérations principales: trouver(k): find(k): Si le dictionnaire a une entrée de clé k, retourne la valeur

Plus en détail

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

Plus en détail

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

Cours Algorithmique, 2ème partie AS IUT

Cours Algorithmique, 2ème partie AS IUT Cours Algorithmique, 2ème partie AS IUT Cours 2 : Arbres Binaires Anne Vilnat http://www.limsi.fr/individu/anne/coursalgo Plan 1 Représentations arborescentes 2 Définition d un arbre binaire récursive

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Langages de spécification cours 4

Langages de spécification cours 4 Langages de spécification cours 4 Diagrammes de décision binaire(bdd) Catalin Dima Arbres de décision binaire Étant donnée une formule logique, on peut lui associer un arbre qui permet d évaluer la valeur

Plus en détail

Programmation avancée Examen final

Programmation avancée Examen final Programmation avancée Examen final jeudi 17 décembre 2009 Nom : Prénom : Vos points sont précieux, ne les gaspillez pas! Votre nom Le travail qui ne peut pas vous être attribué est perdu: écrivez votre

Plus en détail

Devoir Surveillé informatique MP, PC, PSI

Devoir Surveillé informatique MP, PC, PSI NOM : Classe : Devoir Surveillé informatique MP, PC, PSI L utilisation des calculatrices n est pas autorisée pour cette épreuve. Le langage de programmation choisi est Python. L espace laissé pour les

Plus en détail

II arbres binaires de recherche

II arbres binaires de recherche I arbres binaires On définit un arbre binaire par : type arbin=^noeud; noeud=record filsg,filsd:arbin; cle:longint Un arbre binaire a peut être vide (si a=nil). Sinon il est formé d un noeud (a^) contenant

Plus en détail

TP 4 -Arbres Binaires -

TP 4 -Arbres Binaires - L3 Informatique Programmation fonctionnelle OCaml Année 2013/2014 TP 4 -Arbres Binaires - Un arbre binaire est une structure de données qui peut se représenter sous la forme d une hiérarchie dont chaque

Plus en détail

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Anne Brygoo, Maryse Pelletier, Christian Queinnec, Michèle Soria Université Paris 6 Pierre et Marie Curie septembre 2005

Plus en détail

Introduction Tableaux / Vecteurs Listes chaînées Un principe général Quelques algorithmes de tri À faire pour lundi prochain. Tableaux VS Listes

Introduction Tableaux / Vecteurs Listes chaînées Un principe général Quelques algorithmes de tri À faire pour lundi prochain. Tableaux VS Listes Tableaux VS Listes Tableaux VS Listes Petit chapitre. Plan Introduction Tableaux / Vecteurs Définition abstraite Qu a-t-on fait avec des vecteurs? Que peut-on faire avec des vecteurs? Listes chaînées Définition

Plus en détail

Le corps R des nombres réels

Le corps R des nombres réels Le corps R des nombres réels. Construction de R à l aide des suites de Cauchy de nombres rationnels On explique brièvement dans ce paragraphe comment construire le corps R des nombres réels à partir du

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

M2 Informatique/Réseaux Université Pierre et Marie Curie UE APMM

M2 Informatique/Réseaux Université Pierre et Marie Curie UE APMM TD TECHNIQUES DE CODAGE ET DE COMPRESSION. LANGAGE / CODAGE / VALENCE.. Rappels Toute fraction intelligible d un message est constituée de symboles. Le langage est l ensemble de ces symboles. Un codage

Plus en détail

Année Universitaire 2013/2014 DST de Printemps

Année Universitaire 2013/2014 DST de Printemps Année Universitaire 2013/2014 DST de Printemps Parcours : Licence LIMI201 & LIMI211 Code UE : J1MI2013 Épreuve : Algorithmes et Programmes Date : Lundi 16 juin 2014 Heure : 16 heures 30 Durée : 2 heures

Plus en détail

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc Chap. 3 Les arbres binaires Un arbre est un ensemble de nœuds, organisés de façon hiérarchique, à partir d'un nœud distingué, appelé racine. La structure d'arbre est l'une des plus importantes et des plus

Plus en détail

Algorithmique et Programmation Projets 2012/2013

Algorithmique et Programmation Projets 2012/2013 3 Dames 3. Objectif Il s agit d écrire un programme jouant aux Dames selon les règles. Le programme doit être le meilleur possible. Vous utiliserez pour cela l algorithme α β de recherche du meilleur coup

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

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Arbres. Chapitre Introduction. option informatique. 1.1 Terminologie

Arbres. Chapitre Introduction. option informatique. 1.1 Terminologie Chapitre 3 option informatique Arbres 1. Introduction Nous avons déjà rencontré des arbres à la fin du module précédent, pour représenter une expression algébrique ou une liste. Nous avons pu nous contenter

Plus en détail

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Algorithmique P2 HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Structure de tas - arbre Un tas est une structure de données qui Permet un nouveau type de tri (Tri par tas) Permet l'implémentation

Plus en détail

Arbres binaires Version prof Version prof

Arbres binaires Version prof Version prof Arbres binaires Version prof Version prof types /* déclaration du type t_element */ t_arbrebinaire = t_noeudbinaire t_noeudbinaire = enregistrement t_element cle t_arbrebinaire fg, fd n enregistrement

Plus en détail

Algorithmes de tris. Chapitre 4

Algorithmes de tris. Chapitre 4 Chapitre 4 Algorithmes de tris Trier un ensemble d objets consiste à ordonner ces objets en fonction de clés et d une relation d ordre définie sur cette clé. Par exemple, chaque étudiant inscrit à l université

Plus en détail

Partiel - 12 mars 2014

Partiel - 12 mars 2014 Licence STS, semestre 4 013 14 Mathématiques pour l Informatique (Info 9) 1 mars 014 http://www.lri.fr/~paulin/mathinfo Partiel - 1 mars 014 L examen dure heures. L énoncé est composé de 5 pages. Toutes

Plus en détail

Informatique CM5 Synthèse :

Informatique CM5 Synthèse : Informatique CM5 Synthèse : 1. Tuples et enregistrements : Un enregistrement a une étiquette, des champs et des noms de champs - L étiquette et les noms des champs sont des atomes ou des entiers - L opération

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

Compression méthode de Huffman

Compression méthode de Huffman Compression méthode de Huffman Thierry Lecroq Université de Rouen FRANCE La méthode de Huffman consiste à remplacer les caractères les plus fréquents par des codes courts et les caractères les moins fréquents

Plus en détail

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1 Plan Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java Amphi 9 1 Structures d'arbre Les structures d'arbre permettent de réaliser des opérations dynamiques, telles que recherche, prédécesseur,

Plus en détail

Fiche de TD-TP no. 4

Fiche de TD-TP no. 4 Master 1 Informatique Programmation Fonctionnelle, p. 1 Fiche de TD-TP no. 4 Exercice 1. Voici trois façons différentes de définir le type Image : type Image = [[ Int ]] data Image = Image [[ Int ]] newtype

Plus en détail

Structures de données et algorithmes

Structures de données et algorithmes Structures de données et algorithmes Chapitre 4 Les arbres Nous introduisons dans ce chapitre le TDA : arbres binaires Ce TDA est intéressant pour plusieurs raisons : Les arbres de recherche binaire permettent

Plus en détail

Polytechnique. Épreuve d Informatique 1998

Polytechnique. Épreuve d Informatique 1998 Polytechnique Épreuve d Informatique 1998 Corrigé rédigé par Martine Lannaud, Lycée Chaptal, Paris Pour toute remarque ou correction martine.lannaud@prepas.org Motifs et automates Question 1. Quelques

Plus en détail

Cours 1: Introduction à l algorithmique

Cours 1: Introduction à l algorithmique 1 Cours 1: Introduction à l algorithmique Olivier Bournez bournez@lix.polytechnique.fr LIX, Ecole Polytechnique 2011-12 Algorithmique 2 Aujourd hui Calcul de x n Maximum Complexité d un problème Problème

Plus en détail

Notes de cours d algorithmique L3

Notes de cours d algorithmique L3 UFR d Informatique Paris 7 Paris Diderot Année 2010 2011 Notes de cours d algorithmique L3 François Laroussinie Notes de cours d algorithmique L3 François Laroussinie francois.laroussinie@liafa.jussieu.fr

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

1 Définition. 2 Recherche dans un Arbre-B. 3 Insertion dans un Arbre-B. 4 Suppression dans un Arbre-B. Arbre-B

1 Définition. 2 Recherche dans un Arbre-B. 3 Insertion dans un Arbre-B. 4 Suppression dans un Arbre-B. Arbre-B Déition Recherche Arbre-B Insertion Arbre-B Suppression Arbre-B Déition Recherche Arbre-B Insertion Arbre-B Suppression Arbre-B Plan... Les arbres-b Géraldine Del Mondo, Nicolas Delestre 1 Déition 2 Recherche

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

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.

TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td. Exercice 1 TD 1 de Langage C module Outils pour l'informatique Industrielle - Corrigés des Tds : http://www-lagis.univ-lille1.fr/~macaire/td.htm Exercices de base de Programmation Arbre Programmatique

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

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

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

Dénombrement, opérations sur les ensembles.

Dénombrement, opérations sur les ensembles. Université Pierre et Marie Curie 2013-2014 Probabilités et statistiques - LM345 Feuille 1 (du 16 au 20 septembre 2013) Dénombrement, opérations sur les ensembles 1 Combien de façons y a-t-il de classer

Plus en détail

Université de Nice-Sophia Antipolis École Supérieure en Sciences Informatiques

Université de Nice-Sophia Antipolis École Supérieure en Sciences Informatiques Université de Nice-Sophia Antipolis École Supérieure en Sciences Informatiques 20042005 Controle de Mathématiques Discrètes du 24 Janvier 2005 Nom : Prénom : Groupe: Durée : 2 heures 1 2 3 4 5 Tous documents

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

INF3105 Arbres binaires de recherche

INF3105 Arbres binaires de recherche INF3105 Arbres binaires de recherche Éric Beaudry Université du Québec à Montréal (UQAM) Été 2015 Éric Beaudry (UQAM) INF3105 Arbres binaires de recherche Été 2015 1 / 37 Sommaire 1 Introduction 2 Arbre

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Le raisonnement par récurrence

Le raisonnement par récurrence Le raisonnement par récurrence Nous notons N l ensemble des entiers naturels : N = {0,,, } Nous dirons naturel au lieu de entier naturel Le principe du raisonnement par récurrence Soit A une partie de

Plus en détail

Etude de la suppression de clés dans les arbres lexicographiques équilibrés

Etude de la suppression de clés dans les arbres lexicographiques équilibrés Université de Tours UFR Sciences & Techniques Av. Monge, Parc de Grandmont 37200 TOURS, FRANCE Tél. (33)2-47-36-70-20 www.univ-tours.fr http://depinfo.univ-tours.fr Département d Informatique Projet d

Plus en détail