Devoir Surveillé informatique MP, PC, PSI

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Devoir Surveillé informatique MP, PC, PSI"

Transcription

1 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 réponses est suffisant (sauf si vous utilisez ces feuilles comme brouillon, ce qui est fortement déconseillé). Comparaison de deux méthodes de tri L emploi de la méthode.sort() et de la fonction max prédéfinies dans Python n est pas autorisé. Partie I/ Le tri par insertion On considère un tableau T de valeurs numériques représenté par une liste de valeurs numériques non triée. On définit une méthode intuitive pour trier la liste par ordre croissant : le tri insertion dont le pseudo-code est donné ci-dessous. procédure tri_insertion(tableau T) pour i de la deuxième valeur à la dernière valeur du tableau x T[i] j i tant que j > 0 et T[j - 1] > x T[j] T[j 1] j j 1 fin tant que T[j] x fin pour fin procédure 1- Proposer un script écrit en langage Python qui effectue le tri par insertion d un tableau de valeurs. 1/8

2 2- On dit que ce tri est «en place». Que signifie ce terme et en quoi est-ce un aspect positif de cette méthode de tri? 3- Donner, en justifiant brièvement, la complexité en temps de cet algorithme dans le meilleur et dans le pire des cas en fonction de n = len(t). 4- Quelle est la meilleure performance que l on puisse attendre en termes de complexité temporelle pour un tri par comparaison? À ce titre, le tri par insertion est-il performant? Partie II/ Le tri par tas Le but de cette partie est l écriture d un algorithme de tri de tableaux basé sur la notion de tas. Les questions se suivent logiquement, mais beaucoup sont indépendantes. Les fonctions définies dans les différentes questions peuvent être utilisées dans les questions suivantes même si celles-ci n ont pas été écrites complètement. A- Des fonctions élémentaires pour se déplacer dans un tableau indice T(indice) (a) Vision tabulaire (b) Vision arborescente (arbre binaire) Figure 1 Deux vues différentes d un même tableau La figure 1 montre qu un même tableau peut être dessiné avec des cases contigües, ou bien avec des cases dispersées dans une arborescence. Avec la vue contigüe, on utilise généralement une variable i qui parcourt les indices du tableau. 2/8

3 Précisons maintenant un peu plus les termes désignant les différents composants d un arbre binaire. Tout d abord, chaque élément d un arbre se nomme un nœud. Les nœuds sont reliés les uns aux autres par des relations d ordre ou de hiérarchie. Ainsi on dira qu un nœud possède un père, c est-à-dire un nœud qui lui est supérieur dans cette hiérarchie. Il possède éventuellement un ou deux fils. Il existe un nœud qui n a pas de père, on l appelle alors la racine de l arbre. Un nœud qui n a pas de fils est appelé feuille ou nœud externe. Tout autre nœud de l arbre sera appelé nœud interne. Voici donc un schéma qui résume les différents composants d un arbre : (a) Structure d un arbre binaire (b) Arbre binaire complet Figure 2 Généralités sur les arbres Le nombre de niveaux total, autrement dit la distance entre la feuille la plus éloignée et la racine, est appelé hauteur de l arbre. Le niveau d un nœud est appelé profondeur. Sur la figure 2b, l arbre a une hauteur égale à 2. On appellera arbre binaire complet tout arbre qui est localement complet, dont chaque nœud interne possède deux fils et dont toutes les feuilles ont la même profondeur. Dans ce type d arbre, on peut exprimer le nombre de nœuds n de l arbre en fonction de la hauteur h : n = 2 h+1-1. Avec la vue arborescente, on peut évidemment utiliser une variable i qui parcourt les indices du tableau, mais on utilise également trois fonctions qui permettent de suivre les liens bidirectionnels (réels ou virtuels) de l arborescence : - gauche(indice) représente les liens pointillés du haut vers le bas de l arborescence. Par exemple, dans la figure 1b, gauche(1)=3, gauche(4)=9 et gauche(2)=5. - droite(indice) représente les liens en trait plein du haut vers le bas de l arborescence. Par exemple, dans la figure 1b, droite(1)=4, droite(3)=8 et droite(0)=2. - pere(indice) représente les liens du bas vers le haut de l arborescence. Par exemple, dans la figure 1b, pere(4)=1, pere(7)=3 et pere(2)=0. Par contre pere(0) n est pas défini, et sa valeur (null,-1,0, ) importe peu car jamais utilisée dans cet exercice. Voici un programme Python possible pour la fonction gauche(indice), de complexité temporelle en O(1) : def gauche (indice) : '' '' '' Retourne le lien à gauche vers le bas de l'arborescence '' '' '' return 2*indice+1 5- Écrire un programme Python droite(indice) qui retourne un entier d tel qu il existe un lien en trait plein du haut vers le bas reliant les indices i à d. La complexité en temps doit être en O(1). 3/8

4 6- Écrire un programme Python pere(indice) qui retourne un entier p tel qu il existe un lien du bas vers le haut reliant les indices i à p. La complexité en temps doit être en O(1). B- Construction d un tas à partir d un tableau. Un tas est un tableau d entiers tel que pour tous les indices i strictement positifs, la valeur de T[i] est inférieure ou égale à celle de T[pere(i)]. Le but de cette partie de l exercice est d effectuer la transformation représentée par la figure 3. (a) Vue arborescente du tableau initial (b) Tas obtenu par construction Figure 3 Construction d un tas 7- Écrire un programme Python estuntas(t) qui retourne True si le tableau T est un tas, False sinon. La complexité en temps doit être en O(n) avec n = len(t). 4/8

5 8- Pour un tableau T d éléments T[i], on définit une valeur limite telle que 0 i limite et limite longueur(t). Définir une fonction maximum(t,i,limite) qui retourne l indice (inférieur à limite) de la plus grande des trois valeurs T[i], T[gauche(i)] et T[droite(i)]. Si on note imax la valeur retournée par la fonction maximum(t,i,limite), imax a donc les propriétés suivantes : imax limite imax i, gauche( i), droite( i) T[ imax] T[ i] gauche( i) limite T[ imax] T[ gauche( i)] droite( i) limite T[ imax] T[ droite( i)] En cas de valeurs égales, le plus petit indice est retourné. Par exemple sur la figure 3a, maximum(t,0,8) = 2, maximum(t,2,8) = 5, maximum(t,3,8) = 7 et maximum(t,3,7) = 3. La complexité en temps doit être en O(1). 9- Soit l algorithme récursif écrit en langage Python suivant : def entasserrecursif (T,i,limite) : imax = maximum(t,i,limite) if imax!= i : echange (T,i,iMax ) entasserrecursif (T,iMax,limite) Justifier pourquoi cet algorithme est récursif. avec : def echange (T, i, j) : aux = T[i] T[i] = T[j] T[j] = aux 10- Compléter l arborescence avec les valeurs du tableau après l appel entasserrecursif(t,0,8). (a) Avant entasser Figure 4 Entasser(T,0,8) 5/8 (b) Après entasser

6 11- Proposer un algorithme non récursif écrit en langage Python que l on nommera entasser(t,i,limite) équivalent à l algorithme récursif entasserrecursif(t,i,limite). 12- Donner les complexités en temps dans le meilleur et dans le pire des cas de l algorithme entasser(t,i,limite) en fonction de n = len(t). 13- L algorithme entasser(t,i,limite) échange des valeurs du tableau de haut en bas, en suivant une branche de l arborescence. Cela a pour effet de faire descendre des petites valeurs, et de faire monter les grandes valeurs. Il est donc possible de construire un tas, en itérant cet algorithme sur les indices décroissants du tableau. En utilisant entasserrecursif(t,i,limite) ou entasser(t,i,limite), proposer un algorithme construiretas(t), écrit en langage Python, qui transforme un tableau en un tas. 14- Donner la complexité en temps dans le meilleur et dans le pire des cas de l algorithme construiretas(t) en fonction de n = len(t). 6/8

7 15- Tri d un tas. Le but de cette partie de l exercice est d effectuer la transformation représentée par la figure 5. (a) Tas initial (b) Vue arborescente du tableau trié Figure 5 Tri d un tas a) Dans un tas, la valeur maximale est à la racine de l arborescence, donc en T[0]. Dans le tableau trié, cette valeur doit être en T[len(T)-1]. Il suffit donc d échanger ces deux valeurs pour progresser vers la solution. Une fois cet échange fait, si l on exclut la dernière valeur du tableau, le tas est peu changé. En fait entasser(t,0,len(t)-1) va créer un nouveau tas pour les valeurs du tableau dont les indices sont inférieurs à limite = len(t)-1. Il suffit donc d itérer ces deux étapes (échange, entasser) pour trier un tas. Écrire un algorithme triertas(t) en langage Python qui transforme un tas en un tableau trié en ordre croissant. b) Donner la complexité en temps dans le meilleur et dans le pire des cas de l algorithme triertas(t) en fonction de n = len(t). c) Écrire un algorithme tripartas(t) en langage Python qui trie un tableau d entiers T en construisant d abord un tas, puis en le triant. 7/8

8 d) Donner la complexité en temps dans le meilleur et dans le pire des cas l algorithme tripartas(t) en fonction de n = len(t). Commenter. FIN DU SUJET 8/8

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

SUJET + CORRIGE. Avertissement

SUJET + CORRIGE. Avertissement Année : 2012/2013 Semestre 2 DEVUIP Service scolarité PARCOURS : Licence LIMI201 & LIMI211 UE J1MI2013 : Algorithmes et Programmes Épreuve : Devoir Surveillé Terminal Date : Lundi 10 juin 2013 Heure :

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

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

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

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

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 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Arts & Métiers Filière PSI Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes

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

1 TD 5 : Carré magique minuté

1 TD 5 : Carré magique minuté 1 TD 5 : Carré magique minuté (correction page??) Abordé lors de cette séance programmation algorithme classe méthode de construction d un carré magique Un carré magique est un carré 3x3 dont chaque case

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

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

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

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

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

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions

IN 101 - Cours 05. 7 octobre 2011. Un problème concret Recherche de collisions Un problème concret Recherche de collisions IN 101 - Cours 05 7 octobre 2011 Le paradoxe des anniversaires dit que 365 élèves sont suffisants (en moyenne) pour avoir une collision d anniversaire, deux

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

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

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

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

Présentation du programme d informatique

Présentation du programme d informatique Présentation du programme d informatique UPS 31 mai 2015 Table des matières 1 Introduction 2 1.1 Présentation.................................. 2 1.2 Représentation des nombres.........................

Plus en détail

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG INF130 - Ordinateurs et programmation Semaine 08 Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG Retour sur l'examen intra Objectifs Tableaux à deux dimensions

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

Téléchargé gratuitement sur www.doc-solus.fr.

Téléchargé gratuitement sur www.doc-solus.fr. Mines Informatique PC 2015 Énoncé 1/10 ÉCOLE DES PONTS PARISTECH. SUPAERO (ISAE), ENSTA PARISTECH, TELECOM PARISTECH, MINES PARISTECH MINES DE SAINT-ÉTIENNE, MINES NANCY, TÉLÉCOM BRETAGNE, ENSAE PARISTECH

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

MÉRÉ Aurélien FIIFO1. Pathfinder

MÉRÉ Aurélien FIIFO1. Pathfinder MÉRÉ Aurélien FIIFO1 AMC Pathfinder 1 Sommaire Préambule... 3 Modélisation de l espace... 4 Modélisation des cases δ, α... 4 Interface en mode texte... 5 Modélisation du robot... 8 1 ) Le type Robot...

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

Corrigé du TD d'algorithmique avancée n 4

Corrigé du TD d'algorithmique avancée n 4 Corrigé du TD d'algorithmique avancée n 4 1 CHERCHONS... Rebecca Black, interprète d'une formidable chanson, va bientôt subir une attaque de la part de 4chan... Sa réputation virtuelle va prendre un mauvais

Plus en détail

Analyse de la complexité algorithmique (1)

Analyse de la complexité algorithmique (1) Analyse de la complexité algorithmique (1) L analyse de la complexité telle que nous l avons vue jusqu à présent nous a essentiellement servi à déterminer si un problème est ou non facile (i.e. soluble

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

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

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

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

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

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

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

école polytechnique-ens-espci concours d admission 2013 Composition d Informatique (2 heures), Filières MP et PC (XEC)

école polytechnique-ens-espci concours d admission 2013 Composition d Informatique (2 heures), Filières MP et PC (XEC) école polytechnique-ens-espci concours d admission 2013 Composition d Informatique (2 heures), Filières MP et PC (XEC) Rapport de MM. Didier CASSEREAU, Étienne LOZES et Dominique ROSSIN, correcteurs. 1.

Plus en détail

Informatique 2014-2015 MP/MP*/PC/PC*/PSI* DS1 Samedi 22 novembre. Exercice N 1 A la découverte de la notation polonaise inversée

Informatique 2014-2015 MP/MP*/PC/PC*/PSI* DS1 Samedi 22 novembre. Exercice N 1 A la découverte de la notation polonaise inversée Le sujet comporte un total de 3 exercices indépendants qui peuvent être traités dans l ordre de votre choix. Exercice N 1 A la découverte de la notation polonaise inversée Introduction La notation polonaise

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers Programmation en Python - Cours 2 : Premiers programmes Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Utilisation en mode interactif Ecriture d un programme

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

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

1 Les arbres binaires en Java

1 Les arbres binaires en Java Université de Nice-Sophia Antipolis Deug MIAS-MI 1 Algorithmique & Programmation 2002 2003 TP N 10 Arbres binaires Buts : structuration des arbres binaires en Java. classes internes. objets de parcours.

Plus en détail

3 Structures de données Tableaux Listes. Problème du tri. Tri rapide

3 Structures de données Tableaux Listes. Problème du tri. Tri rapide Cours 2 Algorithmique IN102-02 Michel Mauny ENSTA Prénom.Nom@ensta.fr 1 Tris Retour sur fusion et quicksort Complexité minimale Efficacité 2 Récursivité 3 Structures de données Tableaux Listes Michel Mauny

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 Structures de Données

Algorithmique et Structures de Données 1.1 Algorithmique et Structures de Données Jean-Charles Régin Licence Informatique 2ème année 1.2 Itérations Jean-Charles Régin Licence Informatique 2ème année Itération : définition 3 En informatique,

Plus en détail

Généralités sur les fonctions ( En seconde )

Généralités sur les fonctions ( En seconde ) Généralités sur les fonctions ( En seconde ) Dernière mise à jour : Dimanche 31 Octobre 2010 Vincent OBATON, Enseignant au lycée Stendhal de Grenoble (Année 2010-2011) Lycée Stendhal, Grenoble ( Document

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

Chapitre 1. Programmation en Python 2ème année. 23 septembre 2014. E-mail mlahby@gmail.com

Chapitre 1. Programmation en Python 2ème année. 23 septembre 2014. E-mail mlahby@gmail.com Chapitre 1 La récursivité Programmation en Python 2ème année E-mail mlahby@gmailcom 23 septembre 2014 Programmation en Python 2ème année CPGE GSR 2014-2015 1/ 24 Plan 1 Rappel 2 Récurrence en mathématique

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 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

Mathématiques pour. l informatique

Mathématiques pour. l informatique Xavier Chanet Patrick Vert Mathématiques pour l informatique Pour le BTS SIO Toutes les marques citées dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs. Illustration de couverture

Plus en détail

Arbres de segments. Plan. Arbres de segments. Arbres de sélection Listes à saut Compléments de Java Dictionnaires Automates. Solution.

Arbres de segments. Plan. Arbres de segments. Arbres de sélection Listes à saut Compléments de Java Dictionnaires Automates. Solution. Plan Arbres de segments Arbres de segments Arbres de sélection Listes à saut Compléments de Java Dictionnaires Automates Problème : Chercher, dans un ensemble d intervalles de la droite réelle, les intervalles

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

INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014

INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014 INFO-F-302 Informatique Fondamentale Examen Session de Juin 2014 CORRIGÉ Documents non autorisés, durée: 2h45 1 Questions de cours (6 points) Question 1 (2pts) Donner quatre méthodes vues en cours pour

Plus en détail

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

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

Plus en détail

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

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

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

FILIÈRE MP - OPTION SCIENCES INDUSTRIELLES

FILIÈRE MP - OPTION SCIENCES INDUSTRIELLES ÉCOLE POLYTECHNIQUE ÉCOLE SUPÉRIEURE DE PHYSIQUE ETCHIMIEINDUSTRIELLES CONCOURS 2002 FILIÈRE MP - OPTION SCIENCES INDUSTRIELLES FILIÈRE PC ÉPREUVE FACULTATIVE D INFORMATIQUE (Durée : 2 heures) L utilisation

Plus en détail

Secondes Devoir commun de mathématiques n 1

Secondes Devoir commun de mathématiques n 1 Classe : Secondes Devoir commun de mathématiques n 1 Janvier 2014 Sujet : A Durée : 2 heures -Calculatrice autorisée Nom : Prénom : Note : Eercice 1 (sur 9 points) y 4 3 2 On donne la représentation graphique

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

Algorithmique - Programmation 1. Cours 1

Algorithmique - Programmation 1. Cours 1 Algorithmique - Programmation 1 Cours 1 Université Henri Poincaré CESS Epinal Automne 2008 1/ 24 Plan Introduction Introduction A propos d AP1 Quelques concepts de base Premiers pas avec Caml Le branchement

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

Les Tables de Hachage

Les Tables de Hachage NICOD JEAN-MARC Licence 3 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2007 NICOD JEAN-MARC 1 / 34 Référence Tables à adressage directe Thomas H. Cormen, Charles E.

Plus en détail

Eléments de Programmation - Thème 9

Eléments de Programmation - Thème 9 Eléments de Programmation - Thème 9 Equipe enseignants 1i-001 UPMC Licence 1 2014/2015 Table des matières Exercice 1 : Différence symétrique 1 Exercice 2 : Traduction 2 Exercice 3 : Magasin en ligne 4

Plus en détail

TP Maple 4 Eléments de programmation

TP Maple 4 Eléments de programmation TP Maple 4 Eléments de programmation Les structures de branchement (tests) et de répétition (boucles) sont au fondement de la programmation informatique. Elles permettent respectivement d effectuer certaines

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

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

Algorithmique Distribuée

Algorithmique Distribuée Algorithmique Distribuée Problèmes et Algorithmes Fondamentaux Arnaud labourel http://pageperso.lif.univ-mrs.fr/ arnaud.labourel Aix-Marseille Université 15 janvier 2014 Arnaud Labourel (AMU) Algorithmique

Plus en détail

Cours Info - 8. Fonctions & Modularité. D.Malka MPSI 2015-2016. D.Malka Cours Info - 8 MPSI 2015-2016 1 / 40

Cours Info - 8. Fonctions & Modularité. D.Malka MPSI 2015-2016. D.Malka Cours Info - 8 MPSI 2015-2016 1 / 40 Cours Info - 8 Fonctions & Modularité D.Malka MPSI 2015-2016 D.Malka Cours Info - 8 MPSI 2015-2016 1 / 40 Sommaire Sommaire 1 Intérêt des fonctions 2 Déclaration d une fonction 3 Appel d une fonction 4

Plus en détail

1 Introduction. 2 Algorithmes sans élagage. 2.1 Minimax. Chapitre 3 : Jeux (Février 2007, Pierre Gançarski)

1 Introduction. 2 Algorithmes sans élagage. 2.1 Minimax. Chapitre 3 : Jeux (Février 2007, Pierre Gançarski) Chapitre 3 : Jeux (Février 2007, Pierre Gançarski) 1 Introduction Quatre caractérisques pour les jeux étudiés : jeux à deux : deux adversaires eectuent alternativement des coups, chaque défaillance de

Plus en détail

Contrôle sur papier. INF441 Modex Programmation efficace juin 2010. 1. Photo de dés

Contrôle sur papier. INF441 Modex Programmation efficace juin 2010. 1. Photo de dés Contrôle sur papier INF441 Modex Programmation efficace juin 2010 1. Photo de dés Plusieurs dés ont été lancés sur une table, et une photo a été pris de haut. Cette photo est représentée par une matrice.

Plus en détail

Langages de programmation et compilation

Langages de programmation et compilation École Normale Supérieure Langages de programmation et compilation Jean-Christophe Filliâtre Cours 6 / 9 novembre 2015 Jean-Christophe Filliâtre Langages de programmation et compilation 2015 2016 / cours

Plus en détail

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés.

Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés. Examen Programmation ENSAE première année 2008 (rattrapage) Examen écrit (1 heure) Tous documents autorisés. 1 0.0.1 Suite récurrente (Fibonacci) * Réécrire la fonction u de façon à ce qu elle ne soit

Plus en détail

Master 2- numération Numération

Master 2- numération Numération Numération Il s agira toujours de resituer ces apprentissages dans une situation problème à résoudre. Il est nécessaire de commencer et de finir par un exercice facile. Manipulation : - utilisation du

Plus en détail

Algorithmes pour les graphes

Algorithmes pour les graphes Algorithmes pour les graphes 1 Définitions Un graphe est représenté par : V : L ensemble des noeuds ou sommets. E : L ensemble des arcs ou arrêtes. E est un sous-ensemble de V xv. On note G = (V, E). Si

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

Cours 5 : La récursivité en Python

Cours 5 : La récursivité en Python Cours 5 : La récursivité en Python Récursivité p.1 Plan Définition Récursivité p.2 Plan Définition Exemples Récursivité p.2 Plan Définition Exemples Fonctionnement Récursivité p.2 Définition Définition.

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

Notion de complexité

Notion de complexité 1 de 27 Algorithmique Notion de complexité Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www-igm.univ-mlv.fr/ hivert Outils mathématiques 2 de 27 Outils mathématiques : analyse

Plus en détail

Deuxième épreuve d admission. Exemples de sujets

Deuxième épreuve d admission. Exemples de sujets Deuxième épreuve d admission. Exemples de sujets Thème : probabilités 1) On lance deux dés équilibrés à 6 faces et on note la somme des deux faces obtenues. 1.a) Donner un univers associé cette expérience.

Plus en détail

Parcours d un graphe ISN 2013. Jean-Manuel Mény IREM de LYON () Algorithmique ISN 2013 1 / 97

Parcours d un graphe ISN 2013. Jean-Manuel Mény IREM de LYON () Algorithmique ISN 2013 1 / 97 Parcours d un graphe ISN 2013 Jean-Manuel Mény IREM de LYON () Algorithmique ISN 2013 1 / 97 Exercices à rendre Trois exercices sont à rendre. L exercice 1 pourra être rendu sur papier mardi 2 avril (ou

Plus en détail

1 C est quoi une fonction? 2. 2 Représentation graphique d une fonction. 6. 3 Fonction affine. 8. 4 Représentation graphique d une fonction affine.

1 C est quoi une fonction? 2. 2 Représentation graphique d une fonction. 6. 3 Fonction affine. 8. 4 Représentation graphique d une fonction affine. Sommaire 1 C est quoi une fonction? 2 2 Représentation graphique d une fonction. 6 3 Fonction affine. 8 4 Représentation graphique d une fonction affine. 10 5 Coefficient directeur d une fonction affine.

Plus en détail

INF 431, COMPOSITION D INFORMATIQUE. Partie I, Ensembles de chaînes

INF 431, COMPOSITION D INFORMATIQUE. Partie I, Ensembles de chaînes INF 431, OMPOSITION INFORMTIQU Luc Maranget et Nicolas Sendrier 2 mai 2007 Partie I, nsembles de chaînes Le but de cette partie est la réalisation d une classe StringSet des ensembles de chaînes qui suit

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

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

Introduction à la théorie des jeux à deux

Introduction à la théorie des jeux à deux Introduction à la théorie des jeux à deux Table des matières 1 Arbres d évaluation 2 A) Minimax...................................... 2 B) α-β......................................... 3 2 Variantes et

Plus en détail

Complexité des algorithmes

Complexité des algorithmes Complexité des algorithmes par Robert Rolland R. Rolland, Aix Marseille Université, Institut de Mathématiques de Marseille I2M Luminy Case 930, F13288 Marseille CEDEX 9 e-mail : robert.rolland@acrypta.fr

Plus en détail

Lecture simple. Lecture simple par ligne. Exemple. Afin de lire tout le contenu du fichier

Lecture simple. Lecture simple par ligne. Exemple. Afin de lire tout le contenu du fichier Lecture simple Lecture simple par ligne ligne = fgetl(no_fichier, nombre_caracteres) Lit une ligne du fichier portant le numéro no_fichier nombre_caracteres est facultatif ; s il est entré, la lecture

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

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

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

Plus en détail

BACCALAURÉAT GÉNÉRAL. MATHÉMATIQUES Série ES/L

BACCALAURÉAT GÉNÉRAL. MATHÉMATIQUES Série ES/L BACCALAURÉAT GÉNÉRAL SESSION 2015 MATHÉMATIQUES Série ES/L Durée de l épreuve : 3 heures Coefficient : 5 (ES), 4 (L) ES : ENSEIGNEMENT OBLIGATOIRE L : ENSEIGNEMENT DE SPECIALITE Les calculatrices électroniques

Plus en détail

OPTION F : INFORMATIQUE

OPTION F : INFORMATIQUE BO2FE15V1 CONCOURS EXTERNE POUR LE RECRUTEMENT DE CONTRÔLEURS DES DOUANES ET DROITS INDIRECTS BRANCHE DU CONTRÔLE DES OPÉRATIONS COMMERCIALES ET D ADMINISTRATION GÉNÉRALE DES 23 ET 24 FÉVRIER 215 ÉPREUVE

Plus en détail

Couper en deux, encore et encore : la dichotomie

Couper en deux, encore et encore : la dichotomie Couper en deux, encore et encore : la dichotomie I : Jeu du nombre inconnu Un élève volontaire choisit un nombre entier compris entre 0 et 56. Un autre élève cherche à deviner ce nombre, en adoptant la

Plus en détail

Langage Python. Cours 3/5 : Paradigmes de programmation. Hubert Godfroy. 12 novembre 2015

Langage Python. Cours 3/5 : Paradigmes de programmation. Hubert Godfroy. 12 novembre 2015 Langage Python Cours 3/5 : Paradigmes de programmation Hubert Godfroy 12 novembre 2015 1/21 La dernière fois... Utilisation comme langage de script (séance 1) Structures de données pour différents usages

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

Chapitre 4 Automates à pile et langages hors-contexte

Chapitre 4 Automates à pile et langages hors-contexte Chapitre 4 Automates à pile et langages hors-contexte 87 Introduction Langage a n b n n est pas accepté par un automate fini. Par contre L k = {a n b n n k} est accepté. Mémoire finie, mémoire infinie,

Plus en détail

ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES FILIÈRE MP HORS SPÉCIALITÉ INFO

ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES FILIÈRE MP HORS SPÉCIALITÉ INFO ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2012 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la seconde partie

Mathématiques pour l informatique 1 notes de cours sur la seconde partie Mathématiques pour l informatique notes de cours sur la seconde partie L Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances de

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