File tree Expand file tree Collapse file tree 1 file changed +46
-0
lines changed
Ch03. Basic Data Structures/Stack/stack-array Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change 1+ class Stack :
2+ def __init__ (self ):
3+ self .stack = []
4+
5+ def isEmpty (self ):
6+ return len (self .stack ) == 0
7+
8+ def size (self ):
9+ return len (self .stack )
10+
11+ def peek (self ):
12+ return self .stack [len (self .stack ) - 1 ]
13+
14+ def pop (self ):
15+ # not checking if stack is empty
16+ # https://github.com/ivanmmarkovic/Problem-Solving-with-Algorithms-and-Data-Structures-using-Python/issues/1
17+ return self .stack .pop ()
18+
19+ def push (self , item ):
20+ self .stack .append (item )
21+
22+
23+ '''
24+ this solution is slower
25+ previous
26+ ############
27+ 1. pop - pop() - O(1)
28+ 2. push - append() - O(1)
29+ this
30+ ############
31+ 1. pop - pop(i) - O(k)
32+ 2. push - insert(i) - O(n)
33+ class Stack:
34+ def __init__(self):
35+ self.stack: list = []
36+ def isEmpty(self)->bool:
37+ return len(self.stack) == 0
38+ def size(self)->int:
39+ return len(self.stack)
40+ def push(self, item):
41+ self.stack.insert(0, item)
42+ def pop(self):
43+ return self.stack.pop(0)
44+ def peek(self):
45+ return self.stack[0]
46+ '''
You can’t perform that action at this time.
0 commit comments