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





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. Déclarer des types qui 



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 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 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). Pour chacun des 



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.



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

Notez : Octet signé de -128 `a 127 et octet non-signé de 0 `a 255. Exercice 1.6 Exprimez le chiffre 133 dans le syst`eme binaire. 133 = 1 + 4 + 128 = 1 



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

Faites tourner cet algorithme dans un tableau. Un extrait est comme suit : 4. Page 5. i musicien.nom.



Algorithmique et Structures de données 1 Piles

Algorithmique et Structures de données. Feuille 4 : Piles et Files. Dans les exercices suivants on consid`ere les types abstraits : type_Pile = Pile de objet 





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



Algorithmique et Structures de données 1 Piles

Algorithmique et Structures de données. Feuille 4 : Piles et Files. Dans les exercices suivants on consid`ere les types abstraits :.

Universit´e Bordeaux 2 Licence MASS/Scico 5`eme semestre (2006/2007) Algorithmes et structures de donn´ees : TD 8 Corrig´e Tableaux dynamiques - Listes lin´eaires simplement chaˆın´ees - Complexit´e asymptotique

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 8.1Listes lin´eaire simplement chaˆın´ee Consid´erer l"algorithme suivant qui cr´ee une liste den´el´ements : {Algorithme 2} type p_t_liste_simple = ^t_liste_simple; t_liste_simple = record cle : integer; suivant : p_t_liste_simple; end; var element : p_t_liste_simple; var temp : p_t_liste_simple; var premier : p_t_liste_simple; var i : integer; d´ebut

New(element);

element^.suivant := NIL; element^.cle := 0; premier := element; temp := element; pour i de 1 `a n-1 faire d´ebut

New(element);

element^.cle := i*i; element^.suivant := NIL; temp^.suivant := element; temp := element; fin fin

1. Quelle est la complexit´e de cet algorithme (notation Grand-O) ?

La complexit´e de cet algorithme est O(n).

2. Ebaucher l"occupation de la m´emoire d"une mani`ere compacte.

3. Ecrire un algorithme qui parcours la liste et affiche laclede chaque ´el´ement `a l"´ecran.

Qu"est-ce qui est affich´e `a l"´ecran ?

temp := premier; while (NOT (temp = NIL)) do begin

WriteLn(temp^.cle);

temp := temp^.suivant; end;

Il est affich´e :

0 1 4

4. Ecrire un algorithme qui rajoute un ´el´ement suppl´ementaire avec la valeur 1000au d´ebut

de la liste (la liste aura n+1 ´el´ements). Quelle est la complexit´e de votre algorithme ? Comparer avec l"exercice pr´ec´edente sur les tableaux dynamiques. La complexit´e de cet algorithme est O(1) compar´e `a O(n) pour les tableaux dynamiques.

New(element);

element^.cle :=1000; element^.suivant := premier; premier := element;

5. Ecrire un algorithme qui rajoute un ´el´ement suppl´ementaire avec la valeur 1000`a la finde

la liste. Quelle est la complexit´e de votre algorithme ? Comparer avec l"exercice pr´ec´edente

sur les tableaux dynamiques. 2 temp := premier;si temp = NIL alors

New(premier);

premier^.cle := 1000; premier^.suivant := NIL; sinon tant que (NOT (temp^.suivant = NIL)) faire temp := temp^.suivant; fin tant que

New(element);

element^.cle := 1000; temp^.suivant := element; element^.suivant := NIL; fin si La complexit´e de cet algorithme est O(n), comme pour les tableaux dy- namiques.

6. Que faut-il rajouter `a l"algorithme 2 pour r´eduire la complexit´e de rajouter un ´el´ement

suppl´ementaire avec la valeur 1000`a la finde la liste ? Ecrivez l"algorithme ! Il faut rajouter un pointeurdernierqui pointe toujours vers le dernier ´el´ement.

On r´eduit ainsi la complexit´e pour rajouter un ´el´ement `a la fin de la liste `a O(1).

var dernier : p_t_liste_simple; d´ebut { .. initialiser : }

New(element);

element^.suivant := NIL; element^.cle := 1111; temp := element; premier := element; for i:=1 to 10 do begin

New(element);

element^.cle := i*i; element^.suivant := NIL; temp^.suivant := element; temp := element; dernier := temp; { seulement rajouter ¸ca } end; fin { .. rajouter en d´ebut de liste : } 3

temp := premier;New(element);element^.cle :=1000;element^.suivant := premier;premier := element;si temp = NIL alors

dernier := premier; fin si { .. rajouter en fin de liste : } si premier = NIL alors

New(premier);

premier^.cle := 1000; premier^.suivant := NIL; dernier := premier; sinon

New(element);

element^.cle :=20002; element^.suivant := NIL; dernier^.suivant := element; fin si

7. Ecrire un algorithme qui parcours la liste et lib`ere la m´emoire occup´e par la liste en

utilisantDispose. var ancien : p_t_liste_simple; d´ebut temp := premier; while (NOT (temp = NIL)) do begin ancien := temp; temp := temp^.suivant;

Dispose(ancien);

end; fin

Exercice 8.2Pointeurs

Rappeler vous de l"exercice sur les musiciens de la derni`ere s´eance (TD 6.3), et consid´erer maintenant l"algorithme suivant : type p_t_musicien = ^t_musicien; t_musicien = record cle : integer; 4 nom : string;annee : integer;suivant : p_t_musicien; end; var guitariste : p_t_musicien; var bassiste : p_t_musicien; var chanteur : p_t_musicien; var musicien : p_t_musicien; var i : integer; begin

New(guitariste);

New(bassiste);

New(chanteur);

guitariste^.cle := 1; guitariste^.nom := "Robert"; guitariste^.annee := 1982; guitariste^.suivant := NIL; bassiste^.cle := 2; bassiste^.nom := "Sebastian"; bassiste^.annee := 1979; bassiste^.suivant := NIL; chanteur^.cle := 3; chanteur^.nom := "Rainer"; chanteur^.annee := 1984; chanteur^.suivant := NIL; guitariste^.suivant := bassiste; bassiste^.suivant := chanteur; chanteur^.suivant := guitariste; musicien := guitariste; { Endroit 1 } for i := 1 to 10 do begin write("nom ", musicien^.nom); writeln(" annee ", musicien^.annee); musicien := musicien^.suivant; end; 5 end.

1. Ebaucher l"occupation de la m´emoire `a l"endroit 1.

Un extrait de l"occupation de la m´emoire est comme suit :

2. Quelle est la diff´erence entre cet algorithme et celui de la derni`ere s´eance ?

Cette fois-ci, chaque musicien est stock´e en tant que pointeur vers un enreg- istrement, et ne plus par un enregistrement tout court.

3. Compar´e `a l"algorithme de la derni`ere s´eance (TD 6.3), lequel des deux algorithme occupe

moins de la place dans la m´emoire et est donc plus efficace en terme de m´emoire ? Regardons d"abord l"occupation de la m´emoire : dans le TD 6.3, les 4 enreg- istrements occupaient 4*16 = 64 octets. Dans ce TD, les 4 pointeurs et les trois enregistrements occupent 4*4+3*16 = 64 octets ´egalement. Par contre, l"algorithme de ce TD est beaucoup plus efficace, car `a chaque affectation de typemusicien := musicien^ .suivant, il faut uniquement affecter 6 les 4 octets du pointeur au lieu de copier toute la m´emoire de16 octets du musicien.

4. Faites tourner cet algorithme dans un tableau.

Un extrait est comme suit :i

musicienˆ .nom

Robert (avant l"entr´ee dans la boucle

1 Sebastian (apr`es l"´execution demusicien := musicien^ .suivant;) 2

Rainer

3

Robert

4

Sebastian

5

Rainer

6

Robert

7

Sebastian

8

Rainer

9

Robert

10

Sebastian

5. Qu"est-ce qui affiche cet algorithme `a l"´ecran ?

nom Robert annee 1982 nom Sebastian annee 1979 nom Rainer annee 1984 nom Robert annee 1982 nom Sebastian annee 1979 nom Rainer annee 1984 nom Robert annee 1982 nom Sebastian annee 1979 nom Rainer annee 1984 nom Robert annee 1982 7quotesdbs_dbs22.pdfusesText_28
[PDF] ALGO 11 #339 Correction TD N°5

[PDF] Exemples de fonctions en Python - Lirmm

[PDF] Récursivité (1/3)

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

[PDF] Bases d 'algorithmique

[PDF] COURS ALGORITHMIQUE ET PROGRAMMATION INFORMATIQUE

[PDF] FICHE n°6 : PROGRAMMER DES BOUCLES - Maths-et-tiques

[PDF] fiche maternelle algorithme imprimer- pdf documents

[PDF] Fiche enseignant ALGORITHMES NIVEAU : GRANDE SECTION

[PDF] Algorithme et numération - Académie de Nancy-Metz

[PDF] L 'atelier des petites chenilles en PS Etape 1 - académie de Caen

[PDF] reproduire une suite algorithmique - Accueil DSDEN 22

[PDF] Rappels : Tableaux et Matrices

[PDF] N°96 - spécial mouvement intra 2016pub - Snes

[PDF] Algorithmique et programmation : les bases (Algo) Corrigé