I Arbres binaires. Lycée Faidherbe Rappels Définition Dénombrements Parcours... 3
|
|
- Alexandre Roussel
- il y a 8 ans
- Total affichages :
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
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étailARBRES 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étailArbres 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étailQuelques 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étailLes 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étailDé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étailINF601 : 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étail1 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étailchapitre 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étailProjet 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étailRepré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étailRecherche 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étailTravaux 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# 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étail1 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étailImage 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étailLimites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
Plus en détailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailDé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étailChapitre 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étailChapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailJade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Plus en détailRésolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Plus en détailTP 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étailMIS 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étailAlgorithmique 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étailLeçon 01 Exercices d'entraînement
Leçon 01 Exercices d'entraînement Exercice 1 Etudier la convergence des suites ci-dessous définies par leur terme général: 1)u n = 2n3-5n + 1 n 2 + 3 2)u n = 2n2-7n - 5 -n 5-1 4)u n = lnn2 n+1 5)u n =
Plus en détailPré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étailIntégration et probabilités TD1 Espaces mesurés Corrigé
Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.
Plus en détailRappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Plus en détailLa fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Plus en détailAlgorithmes 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étailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailFondements de l informatique Logique, modèles, et calculs
Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................
Plus en détailAlgorithmique, 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étailDate : 18.11.2013 Tangram en carré page
Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailDe même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Plus en détailTexte Agrégation limitée par diffusion interne
Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse
Plus en détailSoit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.
ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle
Plus en détailintroduction 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étailExercices 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étailComplexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation
Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul
Plus en détailIntroduction à la théorie des graphes. Solutions des exercices
CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti
Plus en détailFonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Plus en détailCours de Probabilités et de Statistique
Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles
Plus en détailReconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Plus en détailSUPPORT 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étailLE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
Plus en détailt 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :
Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant
Plus en détailAlgorithmes récursifs
Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément
Plus en détail* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours
Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****
Plus en détailLe produit semi-direct
Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.
Plus en détailChapitre 2 Le problème de l unicité des solutions
Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)
Plus en détailCours 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étailGroupe symétrique. Chapitre II. 1 Définitions et généralités
Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations
Plus en détailInitiation à 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étailConstruction d un cercle tangent à deux cercles donnés.
Préparation au CAPES Strasbourg, octobre 2008 Construction d un cercle tangent à deux cercles donnés. Le problème posé : On se donne deux cercles C et C de centres O et O distincts et de rayons R et R
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailBaccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé
Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue
Plus en détailProbabilités Loi binomiale Exercices corrigés
Probabilités Loi binomiale Exercices corrigés Sont abordés dans cette fiche : (cliquez sur l exercice pour un accès direct) Exercice 1 : épreuve de Bernoulli Exercice 2 : loi de Bernoulli de paramètre
Plus en détailIntégration et probabilités TD1 Espaces mesurés
Intégration et probabilités TD1 Espaces mesurés 2012-2013 1 Petites questions 1) Est-ce que l ensemble des ouverts de R est une tribu? 2) Si F et G sont deux tribus, est-ce que F G est toujours une tribu?
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailExo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.
Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3
Plus en détailObjets Combinatoires élementaires
Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que
Plus en détailCoefficients binomiaux
Probabilités L2 Exercices Chapitre 2 Coefficients binomiaux 1 ( ) On appelle chemin une suite de segments de longueur 1, dirigés soit vers le haut, soit vers la droite 1 Dénombrer tous les chemins allant
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailThéorème du point fixe - Théorème de l inversion locale
Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion
Plus en détailArchitecture 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étailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
Plus en détailGé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étailExercices Corrigés Premières notions sur les espaces vectoriels
Exercices Corrigés Premières notions sur les espaces vectoriels Exercice 1 On considére le sous-espace vectoriel F de R formé des solutions du système suivant : x1 x 2 x 3 + 2x = 0 E 1 x 1 + 2x 2 + x 3
Plus en détailCours 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étailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailPremière partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015
Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k
Plus en détailDualité dans les espaces de Lebesgue et mesures de Radon finies
Chapitre 6 Dualité dans les espaces de Lebesgue et mesures de Radon finies Nous allons maintenant revenir sur les espaces L p du Chapitre 4, à la lumière de certains résultats du Chapitre 5. Sauf mention
Plus en détaila et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b
I Définition d une fonction affine Faire l activité 1 «une nouvelle fonction» 1. définition générale a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe
Plus en détailExercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Plus en détailIII- Raisonnement par récurrence
III- Raisonnement par récurrence Les raisonnements en mathématiques se font en général par une suite de déductions, du style : si alors, ou mieux encore si c est possible, par une suite d équivalences,
Plus en détailUEO11 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étailCours 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étailProbabilité. 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étailIntroduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
Plus en détailÉ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étailFormats d images. 1 Introduction
Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation
Plus en détailCorrection Code nécessaire à la compilation : let bs ="\\" let nl = "\n" ;; let appliquer = List.map ;; (* affichage d'un noeud *)
Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" let appliquer = List.map (* affichage d'un noeud *) let (noeud_vers_ch : int -> string) = function n -> "fib(" ^ (string_of_int
Plus en détailArbres binaires de décision
1 Arbres binaires de décision Résumé Arbres binaires de décision Méthodes de construction d arbres binaires de décision, modélisant une discrimination (classification trees) ou une régression (regression
Plus en détailProbabilité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étailItems étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire
CHAPITRE N5 FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION Code item D0 D2 N30[S] Items étudiés dans le CHAPITRE N5 Déterminer l'image
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailCorrection du Baccalauréat S Amérique du Nord mai 2007
Correction du Baccalauréat S Amérique du Nord mai 7 EXERCICE points. Le plan (P) a une pour équation cartésienne : x+y z+ =. Les coordonnées de H vérifient cette équation donc H appartient à (P) et A n
Plus en détailI - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES
I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES Théorème - Définition Soit un cercle (O,R) et un point. Une droite passant par coupe le cercle en deux points A et
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailFeuille d exercices 2 : Espaces probabilisés
Feuille d exercices 2 : Espaces probabilisés Cours de Licence 2 Année 07/08 1 Espaces de probabilité Exercice 1.1 (Une inégalité). Montrer que P (A B) min(p (A), P (B)) Exercice 1.2 (Alphabet). On a un
Plus en détailCours 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étailEncryptions, compression et partitionnement des données
Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des
Plus en détailProbabilités conditionnelles Exercices corrigés
Terminale S Probabilités conditionnelles Exercices corrigés Exercice : (solution Une compagnie d assurance automobile fait un bilan des frais d intervention, parmi ses dossiers d accidents de la circulation.
Plus en détail