Arbres binaires Version prof Version prof
|
|
- Alexandre Métivier
- il y a 8 ans
- Total affichages :
Transcription
1 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 t_noeudbinaire 1 Mesures Exercice 1.1 (Taille) Écrire une fonction qui calcule la taille d'un arbre binaire. Solution 1.1 (Taille) Dénition : taille (arbre vide) = 0 taille (<r, G, D>) = 1 + taille (G) + taille (D) Spécications : La fonction taille () : entier calcule la taille de l'arbre binaire B. algorithme fonction taille : entier retourne (0) retourne (1 + taille (B.fg) + taille (B.fd)) n algorithme fonction taille Exercice 1.2 (Hauteur) Écrire une fonction qui calcule la hauteur d'un arbre binaire. Solution 1.2 (Hauteur) Dénition : hauteur (arbre vide) = -1 hauteur (<r, G, D>) = 1 + max (hauteur (G), hauteur (D)) Spécications : La fonction hauteur () : entier calcule la hauteur de l'arbre binaire B. Elle retourne -1 si ce dernier est vide. Elle utilise la fonction max (entier a, b) qui retourne la valeur maximale de ses deux paramètres. 1
2 algorithme fonction hauteur : entier retourne (-1) retourne (1 + max (hauteur (B.fg), hauteur (B.fd))) n algorithme fonction hauteur Exercice 1.3 (Longueur de cheminement externe) Écrire une fonction qui calcule la longueur de cheminement externe d'un arbre binaire. Solution 1.3 (Longueur de cheminement externe) Dénition : Soit prof (n), la profondeur du n ud n. lce (arbre vide) = 0 B arbre vide lce (B) = prof (f), f : feuilles de B. Spécications : La fonction lce () : entier calcule la longueur de cheminement de l'arbre binaire B. Elle utilise la fonction lce_rec (, entier prof) qui additionne les profondeurs des feuilles de B (non vide), prof étant la profondeur de la racine de B. algorithme fonction lce_rec : entier entier prof retourne 0 si B.fg = B.fd alors retourne prof /* feuille */ retourne (lce_rec (B.fg, prof+1) + lce_rec (B.fd, prof+1)) n algorithme fonction lce_rec algorithme fonction lce : entier retourne lce_rec (B, 0) n algorithme fonction lce Version sans appels sur les ls vides... : algorithme fonction lce_rec : entier entier prof 2
3 variables entier lce si B.fg = B.fd alors retourne prof lce 0 si B.fg <> nul alors lce lce_rec (B.fg, prof+1) si B.fd <> nul alors lce lce + lce_rec (B.fd, prof+1) retourne lce n algorithme fonction lce_rec algorithme fonction lce : entier retourne 0 retourne lce_rec (B, 0) n algorithme fonction lce 2 Parcours Exercice 2.1 (Parcours profondeur) V D I I S E A Q E T R T S U Figure 1 Arbre binaire pour parcours en profondeur 1. En considérant un parcours en profondeur main gauche de l'arbre de la gure 1 donner la liste des n uds pour chacun des trois ordres induits. 2. Donner l'arbre sous la forme <r, G, D> avec pour représenter l'arbre vide. 3. Écrire la procédure permettant d'acher un arbre binaire sous la forme <r, G, D>, avec pour représenter l'arbre vide. 3
4 Solution 2.1 (Parcours profondeur) 1. Parcours en profondeur main gauche : (a) Ordre préxe : V DIQUSET IERAT S (b) Ordre inxe : QUIDEST V ERIT AS (c) Ordre suxe : UQIET SDRET SAIV 2. <V, <D, <I, <Q,, <U,, > >, >, <S, <E,, >, <T,, > > >, <I, <E,, <R,, > >,<A, <T,, >,<S,, > > > > 3. Spécications : La procédure affiche_tad () ache l'arbre B sous la forme <r, G, D>. L'arbre vide est représenté par. algorithme procedure affiche_tad ecrire (" ") ecrire ("<", B.cle, ",") affiche_tad (B.fg) ecrire (",") affiche_tad (B.fd) ecrire (">") n algorithme procedure affiche_tad Exercice 2.2 (Parcours en largeur) Écrire un algorithme qui calcule la largeur d'un arbre binaire. Nous supposons implémentées les opérations sur les les (type t_file). Solution 2.2 (Parcours en largeur) Schéma du parcours : Le calcul de la largeur d'un arbre utilise un parcours en largeur, avec lequel on repère les changements de niveau : on commence par enler la racine, suivie d'une marque (NUL si l'arbre est représenté par un pointeur) tant que la le n'est pas vide, on déle le premier élément : si c'est une marque de changement de niveau : une autre marque est enlée si la le n'est pas vide ; on enle les ls non vides du n ud délé. Le calcul de la largeur se réduira donc à compter le nombre de n uds délés tant qu'on n'a pas changé de niveau. A chaque changement de niveau, on garde la largeur la plus grande déjà rencontrée. 4
5 Spécications : La fonction largeur (t_arbrebinaires B) retourne la largeur de l'arbre B. algorithme fonction largeur : entier variables entier larg, larg_max t_file f retourne (0) f file-vide () f enfiler (B, f) f enfiler (nul, f) /* marque de changement de niveau */ larg 0 larg_max 1 faire A defiler (f) si larg > larg_max alors larg_max larg si non est_vide (f) alors larg 0 f enfiler (nul, f) larg larg + 1 si B.fg <> nul alors f enfiler (B.fg, f) si B.fd <> nul alors f enfiler (B.fd, f) tant que non est_vide (f) retourne (larg_max) n algorithme fonction largeur 3 Applications Exercice 3.1 (Du dynamique au statique) Écrire un algorithme qui construit le vecteur contenant la représentation hiérarchique d'un arbre binaire représenté dynamiquement. La valeur particulière sera utilisée pour indiquer un arbre vide. Par exemple, ci-dessous la représentation de l'arbre de la gure 2 : L'arbre ici est considéré comme quelconque. Que peut-on modier si l'arbre est parfait? 5
6 Figure 2 Arbre pour représentation hiérarchique Solution 3.1 (Numérotation hiérarchique) La procédure d'appel hierarchique (, t_ab_hierarchique T ) ci-dessous sert à initialiser tout le vecteur T à la valeur avant d'appeler la procédure construit qui construit le vecteur T représentation hiérarchique de l'arbre B (on supposera la taille du vecteur susante pour représenter B). Procédure d'appel algorithme procedure construit entier i parametres globaux t_ab_hierarchique T si B <> nul alors T[i] B.cle construit (B.fg, 2*i, T) construit (B.fd, 2*i+1, T) n algorithme procedure construit algorithme procedure hierarchique parametres globaux t_ab_hierarchique T variables entier i pour i 1 jusqu'a nbmaxnoeuds faire T[i] n pour construit (B, 1, T) n algorithme procedure hierarchique Remarque : On peut éviter l'initialisation complète du vecteur, il sut alors, dans la procédure récursive, de mettre la valeur dans T [i] lorsque l'arbre est vide. Tout dépend de l'utilisation que l'on fera de l'arbre : si on fait un parcours classique, l'initialisation est inutile. Si on veut pouvoir accéder à n'importe quel n ud directement, elle est nécessaire. 6
7 Dans la version ci-dessous (utilisant un parcours largeur), seuls les ls vides utiles `sont mis à. Les élément de le auront le type suivant : types t_elt_file = enregistrement entier no n enregistrement t_elt_file algorithme procedure dyn_to stat parametres globaux t_ab_hierarchique T variables t_file f t_elt_file e, e2 entier no T[1] f file_vide () e.arbre B e.no 1 f enfiler (e, f) faire e defiler (f) e2.no 2 * e.no si e.arbre.fg = nul alors T[e2.no] e2.arbre e.arbre.fg f enfiler (e2, f) e2.no e2.no + 1 si e.arbre.fg = nul alors T[e2.no] e2.arbre e.arbre.fd f enfiler (e2, f) tant que non est_vide (f) n algorithme procedure dyn_to_stat 7
8 Exercice 3.2 (Dégénéré, parfait ou complet) On suppose que les fonctions hauteur et taille sont implémentées. Les algorithmes sont à écrire en utilisant la représentation dynamique des arbres binaires. Toutefois, dans certains cas, il peut être intéressant de discuter des versions utilisant la représentation par numérotation hiérarchique. 1. Arbre dégénéré : (a) Rappeler ce qu'est un arbre dégénéré. (b) Comment tester si un arbre est dégénéré si on connaît sa taille et sa hauteur? (c) Écrire une fonction qui détermine si un arbre binaire n'est pas dégénéré (sans utiliser hauteur et taille). 2. Arbre complet : (a) Rappeler ce qu'est un arbre complet. (b) Comment tester si un arbre est complet en utilisant sa taille et sa hauteur? (c) Écrire un algorithme qui teste si un arbre est complet (vous pouvez utiliser la fonction hauteur). (d) Écrire à nouveau l'algorithme de test sans utiliser hauteur. 3. Arbre parfait : (a) Rappeler ce qu'est un arbre parfait. (b) Comment modier les algorithmes qui testent si un arbre est complet pour qu'ils testent si l'arbre est parfait? Solution 3.2 (Dégénéré, parfait ou complet) 1. Arbre dégénéré : (a) Un arbre dégénéré est un arbre dont tous les n uds internes sont des points simples. (b) L'arbre B est dégénéré si taille(a) = hauteur(a) + 1. (c) Spécications : La fonction non_degenere prend un arbre binaire en paramètre et retourne vrai s'il n'est pas dégénéré, faux. Principe : Il sut de vérier qu'il contient au moins un point double : si l'arbre n'est pas vide, alors si la racine est un point double, l'arbre n'est pas dégénéré. Sinon, on rappelle la fonction sur son ls unique. Si on arrive sur un arbre vide, il est dégénéré. 8
9 Première version, pas très optimale : algorithme fonction non_degenere : booleen retourne (faux) si (B.fg <> nul) et (B.fd <> nul) alors retourne (vrai) si B.fg = nul alors retourne (non_degenere (B.fd)) retourne (non_degenere (B.fd)) n algorithme fonction non_degenere Une autre version, plus optimale : algorithme fonction fili_rec : booleen si B.fg = nul alors si B.fd = nul alors retourne (vrai) retourne (fili_rec (B.fd)) si B.fd = nul alors retourne (fili_rec (B.fg)) retourne (faux) n algorithme fonction fili_rec algorithme fonction non_degenere : booleen retourne (faux) retourne (non fili_rec (B)) n algorithme fonction non_degenere 9
10 2. Arbre complet : (a) Un arbre dont tous les niveaux sont remplis est complet. (b) L'arbre B est complet si taille(b) = 2 hauteur(b)+1 1 ou log 2 (taille(b) + 1) = hauteur(b) + 1 (c) Spécications : La fonction test_complet retourne un booléen indiquant si l'arbre binaire passé en paramètre est complet. algorithme fonction est_complet_rec : booleen entier h retourne (h = -1) retourne (est_complet_rec (B.fg, h-1) et est_complet_rec (B.fd, h-1)) n algorithme fonction est_complet_rec algorithme fonction test_complet : booleen retourne (est_complet_rec (B, hauteur (B))) n algorithme test_complet 10
11 (d) Le même test avec un parcours en largeur : algorithme fonction est_complet_larg : booleen variables t_file f /* contient des t_arbrebinaire */ entier larg, larg_prochain /* actuelle, prochain niveau */ retourne (vrai) f file_vide () f enfiler (B, f) f enfiler (nul, f) larg 0 larg_prochain 1 faire B defiler (f) si larg <> larg_prochain alors vide_file (f) retourne (faux) si non est_vide (f) alors larg_prochain 2 * larg larg 0 f enfiler (nul, f) larg larg + 1 si B.fg <> nul alors f enfiler (B.fg, f) si B.fd <> nul alors f enfiler (B.fd, f) tant que non est_vide (f) retourne (vrai) n algorithme fonction est_complet_larg 11
12 3. Arbre parfait : (a) Un arbre est parfait si tous ses niveaux sont remplis, sauf le dernier dans lequel les feuilles sont rangées la plus à gauche possible. (b) Spécications : La fonction est_parfait_larg retourne un booléen indiquant si l'arbre binaire passé en paramètre est parfait. algorithme fonction est_parfait_larg : booleen variables t_file f /* contient des t_arbrebinaire */ booleen fils_vide, parfait retourne (vrai) f file_vide () f enfiler (B, f) fils_vide faux parfait faux faire B defiler (f) si B.fg = nul alors fils_vide vrai parfait B.fd = nul f enfiler (B.fg, f) si B.fd <> nul alors f enfiler (B.fd, f) fils_vide vrai tant que non est_vide (f) et non fils_vide tant que non est_vide (f) et parfait faire B defiler (f) parfait B.fg = B.fd n tant que vide_file (f) retourne(parfait) n algorithme fonction est_parfait_larg 12
chapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailLes 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é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é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é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é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é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é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é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é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étailRapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources
Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils
Plus en détailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailAlgorithmes de recherche
Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème
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étailLicence Sciences, Technologies, Santé Mention Informatique Codage de l'information
1 Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information année universitaire 2013-2014 Licence Creative Commons cbea 2 Introduction Objectifs du cours Le cours de Codage de
Plus en détailT. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files
Chapitre 7 (suite) Listes particulières Pile : liste particulière T. A. D. pile insertion et suppression au sommet de la pile extraction Files queue Listes doublement chaînées insertion file : liste particulière
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étailProblème : Calcul d'échéanciers de prêt bancaire (15 pt)
Problème : Calcul d'échéanciers de prêt bancaire (15 pt) 1 Principe d'un prêt bancaire et dénitions Lorsque vous empruntez de l'argent dans une banque, cet argent (appelé capital) vous est loué. Chaque
Plus en détailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
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é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étailFeuille TD n 1 Exercices d algorithmique éléments de correction
Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
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étailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en dé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é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étailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Plus en détailAlgorithmique avec Algobox
Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions
Plus en détailCorrection TD algorithmique
Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un
Plus en détailAlgorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
Plus en détailConception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007
1 Génie Logiciel (d'après A.-M. Hugues) Conception Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 17/04/2007 2 Position dans le cycle de vie Contexte : étant donnée une spécification (ce que
Plus en détailChapitre 1. Une porte doit être ouverte et fermée. 1.1 Les enjeux de l'informatique quantique
Chapitre Une porte doit être ouverte et fermée Crois et tu comprendras ; la foi précède, l'intelligence suit. Saint Augustin. Les enjeux de l'informatique quantique La puissance de calcul des ordinateurs
Plus en détailEnsimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1
Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites
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étailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plus en détailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailPROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES
Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailTP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
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étailLa Gestion de fichiers Supports réalisés avec OpenOffice.org 2.3 Writer. La Gestion de fichiers. Niveau : Débutant Auteur : Antonio da Silva
La Gestion de fichiers Niveau : Débutant Auteur : Antonio da Silva Table des matières I.Introduction....3 II.La création d'un fichier......4 III.L'arborescence......7 IV.La gestion des dossiers......11
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é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étailC f tracée ci- contre est la représentation graphique d une
TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe
Plus en détailMaster d'informatique 1ère année Réseaux et protocoles
Master d'informatique 1ère année Réseaux et protocoles DNS Bureau S3-203 mailto://alexis.lechervy@unicaen.fr Domain Name System Le fonctionnement d'un réseau IP est basé sur l'adressage et le routage.
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étailUniversité Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...
Université Bordeaux 1 table des matières Licence Semestre 3 - Algorithmes et structures de données 1 Dernière mise à jour effectuée le 23 Octobre 2013 Piles et Files Déitions Primitives de piles, exemples
Plus en détailOrdonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1
CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste
Plus en détailLes différents types de données et leurs opérations de base
Séquence 2 Les différents types de données et leurs opérations de base Contenu Présentation générale... 21 Partie 1 Les 3 familles de données et l'opération d'affectation... 22 1. Les trois familles de
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étailEbauche Rapport finale
Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide
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étailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailStructures algébriques
Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe
Plus en détailCompression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Plus en détailExercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA
75. Un plombier connaît la disposition de trois tuyaux sous des dalles ( voir figure ci dessous ) et il lui suffit de découvrir une partie de chacun d eux pour pouvoir y poser les robinets. Il cherche
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailCours 02 : Problème général de la programmation linéaire
Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =
Plus en détailDéveloppements limités. Notion de développement limité
MT12 - ch2 Page 1/8 Développements limités Dans tout ce chapitre, I désigne un intervalle de R non vide et non réduit à un point. I Notion de développement limité Dans tout ce paragraphe, a désigne un
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é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étailPeut-on tout programmer?
Chapitre 8 Peut-on tout programmer? 8.1 Que peut-on programmer? Vous voici au terme de votre initiation à la programmation. Vous avez vu comment représenter des données de plus en plus structurées à partir
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étailCORRECTION EXERCICES ALGORITHME 1
CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré
Plus en détailOLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF
OLYMPIADES ACADEMIQUES DE MATHEMATIQUES 15 mars 2006 CLASSE DE PREMIERE ES, GMF Durée : 4 heures Les quatre exercices sont indépendants Les calculatrices sont autorisées L énoncé comporte trois pages Exercice
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étailFonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples
45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et
Plus en détailSujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Plus en détailApplication 1- VBA : Test de comportements d'investissements
Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps
Plus en dé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étailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
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étailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
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étailSommaire. Structure. Liste simplement chaînée ALGORITHME ET STRUCTURES DE DONNÉES II
Sommaire ALGORITHME ET STRUCTURES DE DONNÉES II LES LISTES Liste simplement chaînée Liste doublement chaînée Liste circulaire Dr. Jihène Tounsi ISG de Sousse Site web http://www.jihenetounsi.com Email:
Plus en détailAnnée Universitaire 2009/2010 Session 2 de Printemps
Année Universitaire 2009/2010 Session 2 de Printemps DISVE Licence PARCOURS : CSB4 & CSB6 UE : INF 159, Bases de données Épreuve : INF 159 EX Date : Mardi 22 juin 2010 Heure : 8 heures 30 Durée : 1 heure
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étailMaster IMEA 1 Calcul Stochastique et Finance Feuille de T.D. n o 1
Master IMEA Calcul Stochastique et Finance Feuille de T.D. n o Corrigé exercices8et9 8. On considère un modèle Cox-Ross-Rubinstein de marché (B,S) à trois étapes. On suppose que S = C et que les facteurs
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étailSur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique
Le DNS DNS = Domain Name Service Sert à résoudre les noms d ordinateur en adresse IP. Contention de dénomination pour les domaines Windows 2000 (nommage des domaines W2K) Localisation des composants physiques
Plus en détailCorrection TD Algorithmique 5.3 Pile - 5.4 Liste 5.3 Pile
Correction TD Algorithmique 5.3 Pile - 5.4 Liste 5.3 Pile Classe Pile var sommet : entier var vals : Tableau Methode Pile() vals nouveau Tableau (?) sommet -1 Methode estvide() :booléen Renvoie
Plus en détailProbabilités conditionnelles Loi binomiale
Exercices 23 juillet 2014 Probabilités conditionnelles Loi binomiale Équiprobabilité et variable aléatoire Exercice 1 Une urne contient 5 boules indiscernables, 3 rouges et 2 vertes. On tire au hasard
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étailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailProgrammation linéaire
Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire
Plus en dé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étailProgrammation Par Contraintes
Programmation Par Contraintes Cours 2 - Arc-Consistance et autres amusettes David Savourey CNRS, École Polytechnique Séance 2 inspiré des cours de Philippe Baptiste, Ruslan Sadykov et de la thèse d Hadrien
Plus en détailProgrammation linéaire
CHAPTER 1 Programmation linéaire 1.1. Qu'est-ce que la programmation linéaire 1.1.1. Exemple: le problème du régime de Polly [1, p.3]. Besoins journaliers: Énergie: 2000 kcal Protéines: 55g Calcium: 800
Plus en détailBaccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.
Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. L usage d une calculatrice est autorisé Durée : 3heures Deux annexes sont à rendre avec la copie. Exercice 1 5 points 1_ Soit f la
Plus en détailQuelques algorithmes simples dont l analyse n est pas si simple
Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire
Plus en dé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étail1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détailDomain Name System. F. Nolot
Domain Name System F. Nolot 1 Domain Name System Principe F. Nolot 2 Les besoins Internet est composé de plusieurs réseaux Chaque réseau est composé de sous réseaux Les sous réseaux sont constitués de
Plus en détailSérie TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.
Série TD 3 Exercice 4.1 Formulez un algorithme équivalent à l algorithme suivant : Si Tutu > Toto + 4 OU Tata = OK Alors Tutu Tutu + 1 Tutu Tutu 1 ; Exercice 4.2 Cet algorithme est destiné à prédire l'avenir,
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
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étail