Pilesfiles td corrige pdf 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
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/117024727072xehcfj0aw3ylqmslcddtnsmlmalaxpkve7bjfxrvo5zkjbojcknwrq9p8v7qnpibcwvx03phtlsnftwemzfvltwyyvauo2elgrl.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702074323h6uxgmrferrtfgpacr2ykkoduizyiqxbcqzvxezsm1r8wtujb38bky2edksrexj1qkezf3zwbyqdcs3n63q5wgefwlikveiy4hm2.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/khvkybmtYgYi0pds48X27dOvJx43E1x8vbXfO0blfHRs3ey3cg7GfypBghOCMceOfwfeUCWyZtDmT5YdWyaHhSYj.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702566358nhohayhiqpqc0bykouysjsl7o5eqfaapdngew3c38gwhdhaowfnbr7wzwrjyso8wbkifnpuvdcbbhcrgozf78vijq3zx3rz7wvsn.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702398507dtt3bqn2poze6zvgkswgwuggvh3f8qnsynrwqrq5kzitr2io0vp6unrik231rlrzovubdkm4bxk8q48q5tsaehvyvi9nicpqzzue.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702547618m4cl2aybjqunep3q45sicthzwrs0un8vgljvktgsnthhb7k29f31ffioydcbwqozdv4lb8nvzxsq7gqlt1an8sjh1f7vrcgozwqg.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702570184urzj3rqpxd8hpvphfrzg4rdwlqoaotpt9eyg1vlxt9by7ommtdsqxmrkjbrwjpohj3f15mlouzlmify2ynil7f8yo43psdlftawz.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702452969jl3nfyqzzsxghzwrbipfr4wnotudh2h1egcty8ll9kaz0bclbzi1n4k4zy6fy3cruoleb0n8rjvrlfm0x9xtg6pbgipoey7spzqc.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/WyxZIyTeJ7pZdb8IbXE8u99wDVukQRgkRy4wXcVKdMyzyeI31RsNV80yh96jZaSjN0Re0RbB78xjZ49v6irJQ6kX.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/s0NDxIQfnTWdG1TqW5eUPvGCZIboM7EcDrOvxRpfFhwxwAEYdpZdYvqtQHexBRMPmtZh3NtDdcwcsfkXpBdIXoVU.png)
-
28
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Apv 10, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 69.5kB