There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.
If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.
Join the Discussion. Help a fellow learner on their journey.
Ask or answer a question about this exercise by clicking reply () below!
Agree with a comment or answer? Like () to up-vote the contribution!
I was pondering over the question asked: “Why would a Stack be implemented using a Linked List rather than an Array or List?”.
And in Python, it seems to me that it shouldn’t. The list object in Python can already behave as a stack in an optimized fashion, so I don’t know why we would use a linked list which requires creating new objects and methods to do the same task.
It’s also what you find in the Python documentation:
I believe that the method of stacking is taught here to introduce us to the algorithm. Apart from that it is probably suppose to optimize memory because with lists not only are we allocating data but we are also keeping track of its position in the list. With a stack with are allocating data and pointing to the next data. It seems really arbitrary to be honest, but it was thought up for a reason.
i have the same question really why should i use linked_lists rather than lists !! and i have another question if i’m implementing stacks with linked lists why should i put a limit to it’s size ? what i know is that linked_lists isn’t sequential in memory so you don’t have to set it’s size when use it and that is why linked_lists is a good removal and insertion so you can freely add nodes or remove em anytime and anywhere . so how can i kill the best advantage of the linked lists and give it a size !! why should i if i can easy add or remove nodes at anytime … if i have to give it a size so array will be better then . and using linked_lists for stacks is really a bad choice .
and that will back us to the first question why we can’t easily use lists which already implemented in python !
i think i misunderstand smth…
i believe it is regarding the big O notation.
An array list has a set sized and inserting or deleting is difficult. However, indexing is 0(1).
A single linked list can easily remove nodes on top like a stack with 0(1), although finding a node is 0(n).
This is a stack. You have the index of the element that is the top of the stack. Adding an element by index to the array is O(1). Deleting is just decreasing the index.