[PDF] Algorithmes et structures de données : TD 10 Corrigé





Previous PDF Next PDF



Algorithmes et structures de données : TD 4 Corrigé - Types

Algorithmes et structures de données : TD 4 Corrigé. Types - Enregistrements - Temps d'un algorithme T(n). Exercice 4.1 Types.



Algorithmes et structures de données : TD 2 Corrigé

Combien d'octets occupent ces variables dans la mémoire vive ? Ce tableaux occupe 4*1+4*4=20 octets car il y a 4 élements dans le tableau et chaque.



Algorithmes et structures de données : TD 5 Corrigé

Algorithmes et structures de données : TD 5 Corrigé. Temps d'un algorithme T(n) - Notation Grand-O. Exercice 5.1 Temps d'un algorithme T(n).



Algorithmes et structures de données : TD 8 Corrigé - Tableaux

suivant; end;. Il est affiché : 0. 1. 4 .. 4. Ecrire un algorithme qui rajoute un élément 



Algorithmes et structures de données : TD 1 Corrigé

Algorithmes et structures de données : TD 1 Corrigé Exercice 1.1 Cocher ce qui est une affectation : x Compteur := 3+2 ; ... for i := 1 to 20 do.



Algorithmes et structures de données : TD 1 Corrigé - Arbres binaires

Par contre cet arbre est ni parfait ni dégénéré. 4. Afficher cet arbre binaire de la mani`ere préfix





Algorithmes et structures de données : TD 7 Corrigé - Tableaux

Algorithmes et structures de données : TD 7 Corrigé. Tableaux dynamiques - Listes linéaires a := 4; b := 7;. WriteLn('a' a);. WriteLn('b'



Algorithmes et structures de données : TD 6 Corrigé - Tableaux

Faites tourner cet algorithme dans un tableau (de 6 colonnes bien sur). a b c px py pz. 4. 12. 23. 20. 24. 24.



SUJET + CORRIGE

Algorithme 4: NbInvOuOpp(T). Données : Un tableau T de nombres nb ? 0; pour i=0 `a len(T)-2 faire pour j=i+1 `a len(T)-1 faire si sontInvOuOpp(T[i]T[j]) 

Algorithmes et structures de données : TD 10 Corrigé Universit´e Bordeaux 2 Licence MASS/Scico 5`eme semestre (2006/2007) Algorithmes et structures de donn´ees : TD 10 Corrig´e

Tables de hachage - Fonctions de hachage

Rappel :

SetLength(tableau, n)est de complexit´e O(n)

SetLength(tableau, 1)est de complexit´e O(1)

New(element)est de complexit´e O(1) quandelementest d"un type de taille fixe

Exercice 10.1Fonction de hachage

Consid´erer la fonction de hachageh(c) =cmod13 et une table de hachage avecm= 13 adresses.

1. Ins´erer les cl´es 26,37,24,30, et 11 dans la table de hachage ci-dessus en utilisant la r´esolution

des collisions par adressage ouvert et sondage lin´eaire avec la fonctionhi(c) = (h(c)+i)modm.

2. Rajouter maintenant les cl´es 1,2,3,4,5,6,7,8,9,10. Quel probl`eme rencontrez-vous ? Quelles

solutions proposez-vous ? La taille de la table de hachage n"est pas suffisante. Dans ce cas, il y a deux solutions :

1. On aggrandi la taille de la table de hachage. Dans ce cas l`a, tous les ´el´ements doivent

ˆetre ins´er´es de nouveau. Il est courant de doubler la taille de la table de hachage.

2. On utilise la r´esolution des collision par chaˆınage externe.

Exercice 10.2Table de hachage

program td_9; {$APPTYPE CONSOLE} uses

SysUtils;

const m = 13; type element = record cle : string; date : string; end; var newelement : element; var cle : string; var HT : array[0..m-1] of element; function hash(cle : string) : integer; var j : integer; var i : integer; begin if length(cle) = 0 then result := 0 else begin j := ord(cle[1]) mod m; for i := 2 to length(cle) do j := (j * 256 + ord(cle[i])) mod m; result := j; end; end; function findHT(cle : string) : integer; var i : integer; begin i := hash(cle); result := -1; while (result=-1) do 2 begin if (length(HT[i].cle)=0) or (HT[i].cle = cle) then result := i; i := (i + 1) mod m; end; end; function exists(cle : string) : boolean; var i : integer; begin i := findHT(cle); if NOT(HT[i].cle="") then result:= true else // key is not in table result:= false; end; function lookup(cle : string) : element; var i : integer; begin i := findHT(cle); result:= HT[i]; end; procedure put(elem : element); var i : integer; begin i := findHT(elem.cle); if i>0 then

HT[i] := elem

else begin { COMMENTAIRE if the table is almost full rebuild the table larger (note 1) i := findHT(key)

HT[i] := elem;

FIN DU COMMENTAIRE}

WriteLn("Enlarge table ");

end; end; procedure showtable; var i : integer; begin 3 { `a faire } end; begin newelement.cle := "SAM"; newelement.date := "20.03.84"; put(newelement); newelement.cle := "EMMA"; newelement.date := "13.02.86"; put(newelement); newelement.cle := "LEO"; newelement.date := "21.02.85"; put(newelement); newelement.cle := "AXEL"; newelement.date := "28.03.82"; put(newelement); if (exists("AXEL")) then begin newelement := lookup("AXEL");

WriteLn("Birthdate",newelement.date);

end else

WriteLn("Cette entr´ee n existe pas");

showtable;

ReadLn;

end.

1. Ecrire la fonctionshowtablequi affiche la table de hachage avec la cl´e et la date

d"anniversaire. procedure showtable; var i : integer; begin for i:=0 to m-1 do begin

Write(i);

WriteLn(" : ",HT[i].cle, " ", HT[i].date);

end; end;

2. Faites tourner le programme entier dans un tableau. Utiliser une nouvelle colonne pour

chaque nouvelle variable locale. 4 iiresultijresult

1erput

1erfindHT1erfindHT1erhash1erhash1erhash

5 2 6 3 1 1 1 -1 1 2 1 iiresultijresult

2`emeput

4 2 9 3 2 4 5 5 5 -1 5 6 5 iiresultijresult

3`emeput

11 2 12 3 5 5 5 -1 6 6 7 6 iiresultijresult

4`emeput

0 2 10 3 3 4 12 12 12 -1 12 0 12 5 iresultiresultijresult

1erexists

11 2 12 3 5 5 5 -1 6 6 7 6 true iiresultijresult

1erlookup

11 2 12 3 5 5 5 -1 6 6 7 6

La proc´edure showtable affichera :

0 :

1 : SAM 20.03.84

2 : 3 : 4 :

5 : EMMA 13.02.86

6 : LEO 21.02.85

7 : 8 : 9 : 10 : 11 :

12 : AXEL 28.03.82

6quotesdbs_dbs29.pdfusesText_35
[PDF] Corrigé Série d exercices n°4 : Les fonctions et procédures

[PDF] Polycopié de cours sur l 'amplification en petits - site mach elec

[PDF] Exercices d analyse financière-5

[PDF] ANATOMIE COMPARÉE

[PDF] Exercice 21-a - Chimie-organiquenet

[PDF] Automatique Linéaire 1

[PDF] CORRIGE de l 'Examen Final ECO 434 du 30 mars 2016 Exercice 1

[PDF] Exercice 401 : Access Corrigé « San marco - cterriercom

[PDF] Modèle Entité-Association - LAMSADE

[PDF] le bilan fonctionnel - Mister Compta - Free

[PDF] CORRIGES des exercices Corrigé Exercice 1 - AFPA web TV

[PDF] Cadre Logique

[PDF] Exercices corrigés de fiscalité 2012/2013 - Numilog

[PDF] Gestion des opérations import export - Corrigés - l 'Entreprise, pour

[PDF] Chap III : Capteurs de pression - Numericable