• Aucun résultat trouvé

TD : Impl´ementation des ensembles dynamiques. Olivier Raynaud raynaud@isima.fr http ://www.isima.fr/raynaud

N/A
N/A
Protected

Academic year: 2022

Partager "TD : Impl´ementation des ensembles dynamiques. Olivier Raynaud raynaud@isima.fr http ://www.isima.fr/raynaud"

Copied!
2
0
0

Texte intégral

(1)

TD : Impl´ ementation des ensembles dynamiques.

Olivier Raynaud raynaud@isima.fr http ://www.isima.fr/raynaud

R´esum´e

L’objectif de ce Td est de montrer que le choix d’impl´ementation d’une structure de donn´ees doit ce faire en coh´erence avec la liste d’op´erations envisag´ees pour la manipula- tion des objets cr´e´es. Le premier exercice expose diff´erents besoins de manipulation d’un ensemble dynamique. Le second concerne un ensemble dynamique dont les ´el´ements sont munis d’un indice de priorit´e.

Exercice 1 (Gestion adapt´ee d’un ensemble dynamique).

SoitE un ensemble `an ´el´ements (entiers, chaˆınes de caract`eres ou autre). Dans ce qui suit, on s’int´eressera `a trouver la meilleure impl´ementation (en temps et en espace) possible de E qui autorise un ensemble d’op´erations donn´e.

Question 1. Premier cas :

– eD.rechercher(k) : requˆete qui ´etant donn´e un ensemble dynamique et une valeur k, retourne un pointeur p sur un ´el´ement de l’ensemble dynamique tel que p.element = k, ou N ull si l’´el´ement en question n’est pas dans l’ensemble dynamique ;

Question 2. Deuxi`eme cas :

– eD.rechercher(k) : requˆete qui ´etant donn´e un ensemble dynamique et une valeur k, retourne un pointeur p sur un ´el´ement de l’ensemble dynamique tel que p.element = k, ou N ull si l’´el´ement en question n’est pas dans l’ensemble dynamique ;

– eD.inserer(k) : op´eration de modification qui ajoute `a l’ensemble dynamique un ´el´ement de valeur k;

– eD.supprimer(k) : op´eration de modification qui supprime de l’ensemble dynamique un

´

el´ement de valeur k si un tel ´el´ement existe ; Question 3. Troisi`eme cas :

– eD.minimum() : requˆete qui ´etant donn´e un ensemble dynamique retourne un pointeur sur son ´el´ement minimum ;

(2)

– eD.maximum() : requˆete qui ´etant donn´e un ensemble dynamique retourne un pointeur sur son ´el´ement maximum ;

– eD.rechercher(k) : requˆete qui ´etant donn´e un ensemble dynamique et une valeur k, retourne un pointeur p sur un ´el´ement de l’ensemble dynamique tel que p.element = k, ou Null si l’´el´ement en question n’est pas dans l’ensemble dynamique ;

– eD.inserer(k) : op´eration de modification qui ajoute `a l’ensemble dynamique un ´el´ement de valeur k;

– eD.supprimer(k) : op´eration de modification qui supprime de l’ensemble dynamique un

´

el´ement de valeur k si un tel ´el´ement existe ;

– eD.successeur(k) : requˆete qui ´etant donn´e un ensemble dynamique et une valeur de cl´e k, retourne un pointeur p sur l’´el´ement qui suit le premier ´el´ement de cl´e k s’il existe, Null si l’´el´ement n’existe pas ou s’il est d´ej`a maximum ;

– eD.predecesseur(k) : requˆete qui ´etant donn´e un ensemble dynamique et une valeur de cl´e k, retourne un pointeur p sur l’´el´ement qui pr´ec`ede le premier ´el´ement de cl´e k s’il existe, Null si l’´el´ement n’existe pas ou s’il est d´ej`a minimum ;

Question 4. Dire comment le code propos´e doit ˆetre adapt´e pour ˆetre impl´ement´e dans des langages connus.

Exercice 2 (Indice de priorit´e).

SoitE un ensemble `an´el´ements (entiers, chaˆınes de caract`eres ou autre). A chaque ´el´ement est associ´e un compteur initialis´e `a 0. Dans ce qui suit, on s’int´eressera `a trouver la meilleure impl´ementation (en temps et en espace) possible de E qui autorise un ensemble d’op´erations donn´e.

– Ajouter un ´el´ement ayant un compteur ´egal `a 0;

– Supprimer un ´el´ement de compteur minimum dans l’ensemble E;

– Incr´ementer les compteurs de tous les ´el´ements admettant une mˆeme valeur k de comp- teur.

2

Références

Documents relatifs

Il y a évidemment bien des différences entre les positions d’un Montaigne, qui reste à bien des égards aristotélicien et celle de Hobbes, mais on peut considérer qu’il y a

[r]

[r]

Ecrire en Java la gestion d’un tas, repr´esent´e par un tableau : cr´eer, ins´erer, minimum, supprimer (le minimum), modifier une valeur.. Vous programmerez ceci en TP, et

On cherche `a inverser la matrice carr´ee n × n M en proc´edant m´ethodiquement `a des ´eliminations par combinaisons lin´eaires de lignes.. 1.1

Puisque le temps d’ex´ ecution d’un algorithme sur une entr´ ee de taille constante est une constante, les r´ ecurrences sous-jacentes au calcul du temps d’ex´ ecution

[r]

opacité hétérogène nodulaire superposée au rachis ,dans la région postérieure Par ailleurs, dyspnée avec syndrome restrictif pulmonaire et HTAP... le scanner confirme le