Do you want to learn python from me with a lot of interactive quizzes, and exercises? Here is my project-based python learning course: codebasics.io/courses/python-for-beginner-and-intermediate-learners
@apoorvshrivastava35444 жыл бұрын
This series gotta be super hit in future
@daniel2801873 жыл бұрын
I'm watching it from the future and I can tell you is a super hit for me!
@rheumaticharm95512 жыл бұрын
@@daniel280187 no I'm watching from future and it is no where near super hit considering the Indian origin. Like if even 0.5 percent indian started watching this, the views will be in millions. If ur not indian then u might have trouble understanding that 70-80 percent graduates are engineers and learning some coding language and even on those python is on top. So yeah it should have atleast 1 million views man.
@star_lord22732 жыл бұрын
@@rheumaticharm9551 I think I'm from future and these tutorials are masterclass hit now !!
@captainrogercall57422 жыл бұрын
@@rheumaticharm9551 okay but what about now?
@Afreeennnn4 ай бұрын
No. I'm frm the future🚶
@RealDrDoom2 жыл бұрын
Absolutely hilarious bit at the end. I couldn't stop laughing! 😂 : "If you look at the solution without first solving the problem, it's going to download the covid-19 virus to your computer".
@its_the_yogi2 ай бұрын
@@IITVital kya bol raha hai bhai? IIT ka naam badnaam karega kya
@jccrunk4real9 ай бұрын
This is literally the best explanation of a stack I have ever seen. I'm someone who dreads data structures and algorithms but after watching this video, I'm actually excited to watch the rest of your DS tutorials. Thank you!
@sourabhbhandary11813 жыл бұрын
The way, you explain things, I love it. Most loving part is the exercises.
@codebasics3 жыл бұрын
So glad!
@anastasiakratschmer9560 Жыл бұрын
You make some of the easiest to understand explanations for coding stuff that I have come across on the internet. Thank you so much!
@sukurcf3 жыл бұрын
"Watch other data structures videos" I will for sure. At first I had curiosity. But now, this channel have my attention.
@ohno.65163 жыл бұрын
Django unchained, nice
@TheSoulCrisis3 жыл бұрын
lol nice
@Sillysmiles763 жыл бұрын
Data Structures became very interesting with your videos Thank You, sir!!
@codebasics3 жыл бұрын
Glad you like them!
@ij9532 жыл бұрын
Simplified way of explanation, I've been trying to find some resources for python dsa and this is the best. !!
@ShilpiBhargavaiitb Жыл бұрын
Read stacks & queues in 12th class,... but always wondered what its for... browser example really makes sense
@muhammadumarsotvoldiev9555 Жыл бұрын
Thank you very much, for sharing knowledge for free!
@rajnishpandey2006 Жыл бұрын
Thanks a lot, It helped me to understand the concept in python. Keep making such good contents. Here is the code of the exercise questions. solution 1: from collections import deque class stack: def __init__(self): self.container=deque() def push(self,val): self.container.append(val) def pop(self): return self.container.pop() def peek(self): return self.container[-1] def is_empty(self): return len(self.container)==0 def size(self): return len(self.container) def reversestring(s): st=stack() for i in s: st.push(i) revstr="" while(st.size()!=0): revstr+=st.pop() return revstr print("this function is for reversing a string using stack") print(reversestring("hello my name is rajnish")) solution 2: from collections import deque class stack: def __init__(self): self.container=deque() def push(self,val): self.container.append(val) def pop(self): return self.container.pop() def peek(self): return self.container[-1] def is_empty(self): return len(self.container)==0 def size(self): return len(self.container) def isbalanced(s): st=stack() flag=0 ch=0 for i in s: if i=="(" or i=="{" or i=="[": ch+=1 st.push(i) if (i==")" and ch==0) or (i=="}" and ch==0) or (i=="]" and ch==0): flag=1 break if i==")" or i=="}" or i=="]": x=st.pop() ch-=1 if x=="(" and i!=")": flag=1 break if x=="{" and i!="}": flag=1 break if x=="[" and i!="]": flag=1 break if flag==1: return "False" else: return "True" print(isbalanced("({a+b})")) print(isbalanced("))((a+b}{")) print(isbalanced("((a+b))")) print(isbalanced("))")) print(isbalanced("[a+b]*(x+2y)*{gg+kk}"))
@v12a34p2 жыл бұрын
Your videos are amazing, you make learning Python much easier! Thankyou :)
@deepaksrinivasan81883 жыл бұрын
Second exercise item in this tutorial is a brilliant use of push & pops in stack....! Got the logic for similar set of questions in leetcode. Thank You.
@siddheshrangnekar96153 жыл бұрын
Thank you. You have a great way of explaining concepts . Codebasics for dummies :)
@usemyreferral2 жыл бұрын
The last one was hilarious..!! 🤣
@divyanshagarwal9934 жыл бұрын
Covid virus cringe apart, this is a clean and concise video. Thanks!
@codebasics4 жыл бұрын
I am happy this was helpful to you.
@iliassuvanov66904 жыл бұрын
thank you dear Sir! Your videos are easy to follow and they are very informative. Take care during outbreak
@codebasics4 жыл бұрын
Glad you like them!
@sarahamad58993 жыл бұрын
covid-19 on the PC good one :)
@rahulmaurya5974 жыл бұрын
sir please make full tutorial on data structures along with algorithm using python with every detail please we newbie programmer need this . and a thanku to you sir for this video
@myrusEW Жыл бұрын
There's so much in my head i need to remember and idk what any of it is for sometimes.
@gautamkartik3 жыл бұрын
Covid 19 virus 😂, i felt like classroom immediately
@troymendoza13882 жыл бұрын
Thank you. This playlist have been very helpful. Keep up the great work!
@alkeshace61582 жыл бұрын
For interview and for oral, this is helpful. Thanks for the videos/
@narinpratap87903 жыл бұрын
Awesome content! It's great that you're able to squeeze in so much valuable information into a 13 minute video. Also, sorry if I sound pedantic here... but I believe the correct pronunciation of deque is "deck" (written in the documentation at 7:59). Thank you for the valuable content :D
@codebasics3 жыл бұрын
Narin thanks for informing about pronunciation. My english is not the best and I take your feedback positively. Thanks for teaching me that and I will use "deck" going forward :)
@jacobmoore87342 жыл бұрын
Also, if you inherited deque you wouldn't have to redefine some methods, such as pop, you could just reference the base class method. (I get that this tutorial wasn't about OOP)
@oluwatosin0015 ай бұрын
simple and precise Thank you!
@sudhirprabhu599914 күн бұрын
Super exercises 👍
@Kodplace Жыл бұрын
Thank you. This video help me to understand the subjet.
@ujjwalsingh31603 жыл бұрын
just a random vdo i clicked nd this is what i got the diamond ,while i was looking for gold.....!!! you're the best sir.
@codebasics3 жыл бұрын
I am happy this was helpful to you.
@Rajkumar-vc2pg2 жыл бұрын
some one told me coding people don't have humour and boring , then i showed them ur channel
@kapildharmale3192 жыл бұрын
so detailed, i like the exercises
@khanhhoang38402 жыл бұрын
It really helps me, Thank you so much!
@sapansagarpradhan74543 жыл бұрын
Why is it that id(list) doesn't change even after append as list is basically a dynamic array?
@amansinghal24314 жыл бұрын
***solution spoiler***: the use of dictionary in problem 2 was so smart!
Hi Dhaval, I tried implemening the STACK using Linked list cause I was curious how the dequeue was working behind the scene so here is my solution for the 1st Exercise. Do have a look and if you have any suggestions then let me know.. # Stack using Linked List class Node: def __init__(self, prev = None, data = None, next = None) -> None: self.prev = prev self.data = data self.next = next class Stack: def __init__(self) -> None: self.head = None self.top = None def push(self, data): if self.head == None: node = Node(None, data, None) self.head = node return itr = self.head while itr.next: itr = itr.next node = Node(itr, data, None) itr.next = node self.top = node def pop(self): # print(self.top.data) if self.head == None: return print("Stack is Empty") data = '' if self.top.prev is not None: data = self.top.data self.top.prev.next = None self.top = self.top.prev else: data = self.top.data self.head = None self.top = None return data def peek(self): if self.head == None: return print("Stack is Empty") return self.top.data def print(self): if self.head == None: return print("Stack is Empty") itr = self.head llstr = '' while itr: llstr += f"{ itr.data } => " itr = itr.next print(llstr) def size(self): count = 0 itr = self.head while itr: count += 1 itr = itr.next return count def reverse_string(string): s = Stack() for c in string: s.push(c) rstring = '' while s.size(): rstring += s.pop() print(rstring) s.print() reverse_string("We will conquere COVID-19")
@adnanhowlader1433 жыл бұрын
god lvl teaching,,pls expand the series more
@user-in7fc3hg8e Жыл бұрын
thank you so much
@johnk96213 жыл бұрын
Thank you for another extremely useful video! I would like to present my approach on the second exercise. Please reach out and provide feedback for this implementation: from collections import deque class Stack: def __init__(self): self.container = deque() def push(self, val): self.container.append(val) def pop(self): return self.container.pop() def peek(self): return self.container[-1] def is_empty(self): return len(self.container)==0 def size(self): return len(self.container) def reverse_string(a_string): s = Stack() for x in a_string: s.push(x) new_string = '' for y in range(s.size()): new_string += s.pop() return new_string def is_balanced(a_string): s = Stack() d = Stack() check = Stack() for char in a_string: if char in "{}[]()": s.push(char) for char in range(len(s.container)-1, -1, -1): d.push(s.container[char]) #print(s.container) #print(d.container) if len(s.container) != 0 and len(s.container) % 2 == 0: mean = int(len(s.container)/2) for i in range(mean): check.push(s.container[i]+d.container[i]) for set in check.container: if set not in ["[]","()","{}"]: c = False else: c = True return c print(is_balanced("({a+b})")) print(is_balanced("))((a+b}{")) print(is_balanced("((a+b))")) print(is_balanced("))")) print(is_balanced("[a+b]*(x+2y)*{gg+kk}"))
@Flashxyz123 Жыл бұрын
Thanks for the answers veryvery helpfull
@manojkaranam86023 жыл бұрын
great content ! how is memory management for deque? is it better than list
@rafeeka98713 жыл бұрын
i am so much grateful to you thank you very much for such clear and neat explanation
@codebasics3 жыл бұрын
😊👍
@meralmaradia47742 жыл бұрын
Hello Sir, can you please create a video developing of project using only DSA ?
@vishnupandey3390 Жыл бұрын
thanks for the support you are adding to the community 🙏
@binary_110Ай бұрын
Your theoretical explanation is top notch, but explanation of code sure needs some improvement beginner with the less knowledge have difficulty in understanding
@luciferkhusrao2 жыл бұрын
"Download COVID-19 virus". That was really funny 😂. But tutorial was awesome. 🤩🤩
@2ndx4 жыл бұрын
Should this be episode #6?
@codebasics4 жыл бұрын
You are right. Updated the title. Thank you 😊
@AshuSingh-zf4bw3 жыл бұрын
Wow. Just Amazing Content. Learning.so much through you 🙂
@codebasics3 жыл бұрын
Happy to hear that!
@gopikrishnan81824 жыл бұрын
Nice tutorial and it helped me a lot. Waiting for the next set of Data structure tutorials.
@codebasics4 жыл бұрын
Glad to hear that
@mahdip.46742 жыл бұрын
can we search for max or min value in stack and make it O(1)?
@alrzhr2 жыл бұрын
very helpful
@nourm33854 жыл бұрын
Thanks for this Video it's awesome! Please can you tell me how to puch another value for every node in stack without to adjust the Class Node..?
@chocky_18744 жыл бұрын
ThankYou
@bigbang32112 жыл бұрын
Instructions weren't clear, now i'm in quarantine
@arijitdas15512 жыл бұрын
For the example of webbrowser back and forward button, why can't we use doubly linkedlist ?
@meralmaradia47742 жыл бұрын
But how we can overcome the challenge of memory using deque rather than list ?
@muhammadzakiahmad80692 жыл бұрын
If one is not able to solve the second exercise on his/her own this means his/her logical skills are weak? I heard a youtuber saying that if you know the basic operations of stacks then you should be able to do it.
@zhengxijiang40872 жыл бұрын
why you use self.container? I am learning, I will think just self is enough, I don't know the reason self.container, thanks for help!
@GajeshSNaik4 жыл бұрын
Create a video on how to crack the coding interview
@codebasics4 жыл бұрын
Sure
@turanmertozalp9909 Жыл бұрын
Hey in the last exercise why did we returned stack.size()==0 can you explain
@mdnafis-dg4dn4 жыл бұрын
sir please create a playlist about python algorithm
@SushantaKPani2 жыл бұрын
4:58 in python code sample typo correction stk.append(89) instead of stk.append(9)
@dkijc Жыл бұрын
Pandemic is over. So is it ok to click the solution link before I solve? hahahah Thanks for these videos!!
@codebasics Жыл бұрын
Pandemic is over but COVID infections are still going on 😧 So be careful when click on the solution link 😆🤣
@vikashparmar8413 жыл бұрын
Hey great content. Very very helpful.♥️
@Mohib33 жыл бұрын
in interviews we can use deque? Might be dumb question but im just now learning DS ALGO?
@ujeshnada72813 жыл бұрын
example of website is very useful
@codebasics3 жыл бұрын
👍😊
@sirajansari28485 ай бұрын
I implemented below short solution to the first exercise : from collections import deque def reverse_string(string): lst = [] stack = deque(string) for i in string: lst.append(stack.pop()) return ''.join(lst) print(reverse_string("We will conquere COVID-19")) >>> 91-DIVOC ereuqnoc lliw eW
@bhaiyandcompany3 жыл бұрын
I am not getting that if we are not giving the length of the List so how it can be get filled??
@anjaneyatiwari40122 жыл бұрын
hye , can we implement stack in python without using in-build function like append and pop ??
@LtMewS4 жыл бұрын
Man I have been scratching my heads how to do the second Excersise for 1 day then I had finally to open solution 2 and now m like wait I could have done that.... But seriously damn nice way of implementing hash table to stack earlier I was first trying to see if I can do this with list and ord (of those brackets) to compare them and came up with complicated program but at the end it doesn't work on all test cases I found this to be much better but the last part of the code is really difficult to understand
@mohamedhassan-ub4kj Жыл бұрын
I think its better my friend if you make the container self._container instead of self.container , private property
@patrickcordero66733 жыл бұрын
i tried the exercise and run your solution. On the last example if I run this print(is_balanced("[a+b]*(x+2y)*{gg+kk}")) the answer is true. But on the debug mode the answer is false. not sure why though.
@sumitdhiman53813 жыл бұрын
can we do 2nd ques with the help of regular expressions? if yes then please tell me
@akshaynitin55892 ай бұрын
i implemented same concept in leetcode problem. it's working but it failed for 9 testcases like '((' , '(['. then i modified it. In Exercise problem: class Solution: def mapper(self, c1, c2): operation = { '}': '{', ')': '(', ']': '[' } return operation[c1] == c2 def isValid(self, s: str) -> bool: stack = Stack() if len(s) == 1: return False for char in s: if char == '(' or char == '{' or char == '[': stack.push(char) if char == ')' or char == '}' or char == ']': if stack.is_empty(): return False if not self.mapper(char, stack.pop()): return False if stack.size() != 0: return False return True
@MuhammadAli-bn4ju Жыл бұрын
in python: when you add new elements to a list its id address will not change! and I know that python list has no max size. so, if that true, is that mean it's no problem using it as a stack?
@vishnupandey3390 Жыл бұрын
no watch the portion of this video kzfaq.info/get/bejne/psVpp5umzb61lJ8.html
@Flashxyz123 Жыл бұрын
The answer is from collections import deque class Stack: def __init__(self): self.container = deque() def push(self, val): self.container.append(val) def pop(self): return self.container.pop() def peek(self): return self.container[-1] def is_empty(self): return len(self.container) == 0 def size(self): return len(self.container) def reverse_string(s): stack = Stack() for ch in s: stack.push(ch) rstr = '' while stack.size()!=0: rstr += stack.pop() return rstr if __name__ == '__main__': print(reverse_string("We will conquere COVI-19")) print(reverse_string("I am the king"))
I'm watching on my phone and now I'll have to wait till tomorrow to click that link when I'm get my PC 😅 you never know right
@nishantthakur30354 жыл бұрын
class Check: def __init__(self): self.check = deque() def push(self,val): self.check.append(val) def is_paranthesis(self): para = ['{','}','(',')','[',']'] for i in para: return self.check[-1].count(i)==1
@Music_Swings Жыл бұрын
Hey man my laptop got virus I think this happend due to checking the solution before doing it 😂😂😜. Anyway Thankyou buddy.
@codebasics Жыл бұрын
Welcome 👍😄
@kk4201006 ай бұрын
seriously what the heck! i was looking to download covid19 virus but instead downloaded a big fat python.😜
@sukurcf3 жыл бұрын
How would you manage this history in terms of data structure if you are browser developer? Not stack but Doubly Linked List. :-P. JFF. I would try stack too.
@ramyavidiyala12933 жыл бұрын
Why is implementing Stack using a deque a better option than implementing stack using a linked list?
@sayantanisaha3 жыл бұрын
Its that we don't have to copy the already present elements in order to insert a new element....since linked list dynamic
@awesomeGuss2 жыл бұрын
ayooo the repercussions for clicking the solution without doing the exercises has me weak🤣🤣🤣 he litterally said your laptop's going to get corona virus🤣🤣 if you don't do the work first😂
@muzammilomarzoy66166 ай бұрын
Day 2 : 5:06
@xXmayank.kumarXx3 жыл бұрын
12:10 didn't know about the digital variant of this virus
@codebasics3 жыл бұрын
ha ha.. yes it exist :)
@SLSRPPRO2 жыл бұрын
best
@KANISHKSAHUSIME2 жыл бұрын
Someone said when you were making this video you are the person who was closest to god
@chaitanyatripathi15434 жыл бұрын
can someone please explain this part of code from the solution: if ch==')' or ch=='}' or ch == ']': if stack.size()==0: return False if not is_match(ch,stack.pop()): return False return stack.size()==0
@aaravchandra30824 жыл бұрын
Basically, you want to see that if u encounter either of the three brackets the top bracket on the stack should be its opening counterpart. I those two are the same then no False is set. In the end if no false is set and if last bracket is also processed ten return true.
@nishantthakur30354 жыл бұрын
class Check: def __init__(self): self.check = deque() def push(self,val): self.check.append(val) def is_paranthesis(self): para = ['{','}','(',')','[',']'] for i in para: return self.check[-1].count(i)==1
@Heck-ed6sr2 жыл бұрын
Can anyone explain to me how the memory storage/allocation of stacks work? Do they face similar issues with dynamic arrays (copying and paste each individual data one at a time to the new memory location)? Any help will be much appreciated! Thanks!
@vijitmalik87082 жыл бұрын
stack is built using different data structures, In python as told in the video, if we use deque to implement it then it works as a doubly linked list so python memory allocation is similar to that of a linked list. watch again from 6:40
@ashwinvarma93494 жыл бұрын
what is the difference between append and push?
@vedanshtyagi32273 жыл бұрын
They are the same thing ashwin . In arrays or linked list when we add element we are appending elements while in stack we say we are pushing elements .
@amitmahato64043 жыл бұрын
append, push, put are all the same..just based on different data structures.
@Khanarmaanrokz3 жыл бұрын
Here is a different solution for second exercise from collections import deque def parenthesis_matching(equation): stack=deque() arr=deque() for ch in equation: stack.append(ch) for ch in stack: if ch=="(": arr.append("(") elif ch=="[": arr.append("[") elif ch=="{": arr.append("{") elif ch==")": try: arr.remove("(") except: return False elif ch=="]": try: arr.remove("[") except: return False elif ch=="}": try: arr.remove("{") except: return False if len(arr)==0: return True else: return False if __name__=="__main__": s=input("Enter the equation") print(parenthesis_matching(s))
@Khanarmaanrokz3 жыл бұрын
Put continue at the end of every condition too.
@eyosiyasengdawork64455 ай бұрын
It really download COVID 19... All of the sudden, I'm sick, and so is my computer
@simarpreetsingh64193 жыл бұрын
@codebasics Sir The creation of class stack is not helping in VScode please help Input: from collections import deque class Stack: def __init__(self): self.container = deque() def push(self, val): self.container.append(val) def pop(self): return self.container.pop() def peek(self): return self.container[-1] def is_empty(self): return len(self.container) == 0 def size(self): return len(self.container) s = Stack() s.push("45") s.push("34") s.peek() s.size() s.pop() s.peek() Output: No output is coming its empty Please Help anyone
@tejassarnaik31083 жыл бұрын
u've to print the operations like follows: print(s.peek()) and so on !
@simarpreetsingh64193 жыл бұрын
@@tejassarnaik3108 shit that's some serious stupidity on my part... Thanks sir
@user-co6rg9jt9x3 жыл бұрын
I got corona on my pc what do i do now!?!?!?!??! Help!
@codebasics3 жыл бұрын
ha ha. you need to send your pc for quarantine. dont use it for next 14 days :)
@bhavanisankar82722 жыл бұрын
hi sir,How to print elements of stack
@somanyadav7922 жыл бұрын
See def show in the below code. It shows all the elements in the stack :) class Stack(): def __init__(self): self.container = deque() def push(self,val): self.container.append(val) def pop(self): return self.container.pop() def peek(self): return self.container[-1] def is_empty(self): return len(self.container)==0 def size(self): return len(self.container) def show(self): return self.container
@jaheerkalanthar8164 жыл бұрын
sir please give some easy exercise,the second exercise kills my whole day but i can't find the answer,so i open the sollution,after the open solution i can't understand,most of the comment below in this tutorial is they cant do second exercise sir
@codebasics4 жыл бұрын
Sure. To be honest the exercise is not that hard. But sure I will look into it in future and also add more comments to solution so that you understand
@jaheerkalanthar8164 жыл бұрын
@@codebasics after open sollution then only realize the problem is not hard,then only realize I have to change the way of thinking ,thank you sir for your reply, I'm big fan of you sir,you r a best teacher ,take care of ur health sir
@webcreationstudio70883 жыл бұрын
CodeWithHarry
@Flashxyz123 Жыл бұрын
Dont try clicking on the solution without trying to solve it first my computer is broken because it installes the COVI-19 virus!