Stack Data Structure
Aya Bouchiha
Posted on June 14, 2021
Hello, in this article we're going to talk about stack;
Definition of Stack
"A stack is a linear data structure that stores items in a Last-In/First-Out (LIFO) or First-In/Last-Out (FILO) manner. In stack, a new element is added at one end and an element is removed from that end only. The insert and delete operations are often called push and pop."
Space and Time complexity
the space complexity of a stack is O(n)
push | pop | peek |
---|---|---|
O(1) | O(1) | O(1) |
implementation of a stack using list in python
class Stack :
def __init__(self):
self.items = []
self.top = 0
def push(self,data: any) -> any :
self.items.append(data)
self.top+=1
return data
def pop(self) -> any:
if self.top > 0 :
self.top -=1
return self.items.pop()
def peek(self) -> any:
if self.top > 0:
return self.items[-1]
def __len__(self) -> int:
return self.top
def clear(self) -> list:
self.items = []
self.top = 0
return self.items
def isEmpty(self) -> bool:
return self.items == []
def printAll(self) -> list:
return self.items
References and useful Ressources
- https://www.quora.com/What-are-the-advantages-and-disadvantages-of-stack-in-collection
- https://www.geeksforgeeks.org/stack-in-python/
- https://betterprogramming.pub/implementing-a-stack-in-javascript-73d1aa0483c1
thank you!
#day_2
💖 💪 🙅 🚩
Aya Bouchiha
Posted on June 14, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.