Pilesfiles td corrige pdf 1
TD ?? Piles et ?les Corrigé Piles Exercice N ?? Copie d ? une pile Ecrire une fonction stackcopy s recevant une pile s comme argument et renvoyant une copie s de s Attention la pile s doit bien sûr être conservée Evaluer le coût en mémoire et le nombre d ? opérations de la fonction Puisque dans une pile nous ne pouvons manipuler que le sommet de la pile nous n ? avons pas d ? autre choix pour pouvoir accéder aux éléments successifs de s que de la dépiler dans un premier temps ère boucle for ci-dessous ? def stackcopy s s stackcreate if len s t stackcreate for i in range len s e stackpeek s stackpop s stackpush t e for i in range len t e stackpeek t stackpop t stackpush s e stack push s e return s Notons n la taille de l ? espace mémoire occupé par la pile s A priori la fonction stack pop libère progressivement l ? espace mémoire occupé par s Mais parallèlement on construit la pile t Ainsi l ? espace mémoire total requis par les piles s et t dans la première boucle for est constant et égal à n Dans la deuxième boucle for on vide la pile t mais on construit au fur et à mesure les piles s et s Ainsi l ? occupation mémoire lors de l ? exécution de la deuxième boucle passe de n à Fénelon Sainte-Marie PC PSI - - Marc Lichtenberg CTD ?? Piles et ?les Corrigé n Bien sûr si on ne souhaite pas conserver s cette occupation est à nouveau égale à n on dépile t pour construire s Pour ce qui est des appels à des fonctions on se limite aux fonctions stackpeek stackpop et stackpush Dans la première boucle for on a n appels à chacune des fonction stackpeek stackpop et stackpush Dans la seconde boucle for on a n appels à chacune des fonction stackpeek et stackpop et n appels à la fonction stackpush En dé ?nitive on a ? n appels à la fonction stackpeek ? n appels à la fonction stackpop ? n appels à la fonction stackpush Si on ne souhaite pas conserver s on ne reconstruira pas cette pile dans la deuxième boucle for et on aura seulement ? n appels à la fonction stack push pour un total de n appels au lieu de n Exercice N ?? Inversion d ? une pile Ecrire une fonction stackreverse recevant une pile s comme argument et renvoyant une copie inversée rs de s Attention la pile s doit être conservée Evaluer le coût en mémoire et le nombre d ? opérations de la fonction Dans l ? écriture de la fonction précédente on a vu que la première boucle for permettait d ? obtenir une nouvelle pile inverse de la pile initiale MAIS en lieu et place de celle-ci Pour conserver cette pile initiale il su ?t donc dans un
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702601573fhc1o2yhayiethvy3nv9frhufnd9s8mzjcupjwsbqmlg5q9opqegpl33zsil657wvje4fsbfakgswb2eulzwmeuampdwr403kay7.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/117021812319joj703elor05jgwci7rurkdnrqkgbcpgcnu2lkeihkpqplgvawluhqfahtxmtmh3yvnigfvgoztl1mox4d9rn4k9sngpali2mrc.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702580792yw2gzxhqztj0j4omrj8ucni51fdymu92evv84nypgv4o8yiczvlrcjx8jl8ackz7w8zbzvj8luff8etqkm3kx9snrcyv8yjpffta.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702686162or2lvpahqlzsj33derevoxonvf1ckcwtxjlmbkc22rg4dhfmzs2ummbx27zzipi2bsxek88sykcj7ip2k92md3bmrd0qsyewsbup.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702384327vheqxf5v9vdfdnfhtbpytz05im5zti8laa3nfhrusqj4xcbd93b4qq6hnv9mrpvkltrwbdamj14xvhbnjz6o6bq5skktc6haapzi.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702599590oy2yvzbri8kqblkuxmj1vyo9i7vlsclysf2z1kbd8cu00jkberckdqjg4aoqgsujndllynqbejnokjqa2epxgf6vne5n5rmf2yuk.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702129518xipv5ha3evj2izt8ocu4wqmdfmmac23nr3if7wv7xn4jzjmj56ltrbfvfmg5olphkfwuxnevveedooagwqmsbk7h2sde00i1j9kg.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702466997h1tn1uqyora5l2wzo29bruhjlcssobfwvsqrcvqehs7p6v9vgbu4xlj5i4mvpfsjgvudub59kxfs30tcaoclmwim1pmx9inywggh.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702188352hpxons1nekwrg5eyxmokcvnpqk81kijnoib5km5kll93zsjl4antl5byys8sh1tp3xi2z5ptjhdtj9wctvp7dweahxui9kdlniwn.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702374988obvmugdwjtfoqwqfue19qr2xvukj25ioi6bvamc0jqklb0cqydjlcikj0cafxpp9mwkgdfcyw6wbhnmhhv0wjoubxbxax7csmvyl.png)
-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Mar 07, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 69.5kB