Very easy to understand. Would like to see some coding examples too but this is nice. I have been a developer for 6 years and i'm just now getting into data structures. However i'm realizing that i've basically been using them all along without knowing it.
Imagine if your professor teaches like this and add up those simple analogies so their students will have an easier approach to grasp the lesson at hand..... anyways, thank you so much for your precious videos!
These videos are great and the visuals help a lot. The black background in your videos seems to improve memory recall for some reason as opposed to a white background. Its easier to visualize what I saw from your videos, than others because of this and it does not burn your retinas out while watching them either lol.
Not sure if I can do an entire series, but I'm thinking of making a Chrome extension with JS at some point. Thanks for letting me know your thoughts anyway!
I did a twitter bot with your video and stayed very happy!!! Hope this bot I made can help people to be happier, it spreads positive messages! thanks again!
Great video..you got it right a Deque is actually called a "Deck" or Double Ended Queue so many people get it wrong an call it a "De Que" then get it confused with Enque/Deque.
@@emanuelriquelmemontoya3819 Though you are right, if it doesn't come naturally to you even when taught over and over then you should consider choosing a different path, not everyone is made to do one thing we all have a strength and weaknesses.
I am CS student, and I have been following your channel for almost 2 years. It's a great explanation, but it would be more useful and more interesting if you could also show your explanation in code! Anyways thank you for your efforts!
Thanks, man. This is extremely illustrative and helpful! Your illustrations make it clear. You're a true teacher. Please, keep doing it! PS: I don't know what the heck an octopus was doing there, but I like it.
@@CSDojo don't be sorry, I am sure you're probably busy at work. I learned so much from your interview problems and this DSA playlist. So thank you for that.
Curious why you use an array to hold your stack? Wouldn't a linked-list make more sense since it already has stack methods (e.g. push and pop)? You even mention that if you run out of space with your array you'd have to create a new array, one of its key limitations. I also find moving the pointer reference to a different index while keeping the value in place instead of actually popping the value to be an awkward representation of popping the top value of the stack
If I have a queue, and it's a tasks queue, once that one task is completed I should remove the element from the queue, or just move the pointers? And if I should just move the pointers, once that the pointers are on its limits, I would have to create another bigger queue to do what I want, right? This approach wouldn't use a lot of memory? Once I made this remark, am I right if I define a queue as something that should be just a collection of things that will be freed of the memory soon, once it's completed? Edit1: I was searching about, and one good response that I found was to use linked-lists, what I think is a great approach, once that it is first-in first-out, so you wouldn't have the problem of needing to change something or access something in the middle of the list, at least I think so. Edit2: @t Here's the code I've developed so far, trying to solve this issue.
hello bro l really like your explanation 👍it is amazing. l hope you will not stop making video anymore. If you make video about why you couldn't make video during these times it would be very good video. good luck everytime thanks in advance !!
Hi Dojo! thanks for the cool video! Always fun and inspiring! I just started on coding, I wonder if I should focus more on algorithms or actual project?
wow this helped me understand stack and queues easily Thank you really..... but i was curious how was he presenting like this?? i mean what tools are you using?
Here is my Deque class (in java) if someone needs example public class CustomDeque { private Integer[] dequeArray; private int count; private int max; private int leftIndex; private int rightIndex; public CustomDeque(int length) { dequeArray = new Integer[length]; //this array can be int if you don't need to store null values count = 0; max = length; leftIndex = 0; rightIndex = 1; } public void addLeft(int data) { if (count >= max) { System.out.println("Deque is full"); return; } dequeArray[leftIndex--] = data; leftIndex = indexBounds(leftIndex); count++; } public void addRight(int data) { if (count >= max) { System.out.println("Deque is full"); return; } dequeArray[rightIndex++] = data; rightIndex = indexBounds(rightIndex); count++; } public Integer popLeft() { if (count == 0) { System.out.println("Deque is empty"); return null; } leftIndex = indexBounds(++leftIndex); count--; int result = dequeArray[leftIndex]; //no need to empty values. Its enough to just move indices. This is purely to debug using toString() method dequeArray[leftIndex] = null; return result; } public Integer popRight() { if (count == 0) { System.out.println("Deque is empty"); return null; } rightIndex = indexBounds(--rightIndex); count--; int result = dequeArray[rightIndex]; //no need to empty values. Its enough to just move indices. This is purely to debug using toString() method dequeArray[rightIndex] = null; return result; } private int indexBounds(int index) { if (index < 0) return dequeArray.length - 1; if (index > dequeArray.length - 1) return 0; return index; } @Override public String toString() { return "[CustomDeque] = leftIndex = " + leftIndex + "; rightIndex = " + rightIndex + "; dequeArray = " + Arrays.toString(dequeArray); } }
Thank you, yes, and about master's - not sure. I think if I was you, I would do CS because it's easier to get a job with it. CS undergrad degree and whatever master's degree you feel like you need if you think you need it.
Can i combine queue and linkedlist? like making an algorithm that uses both algorithms' features? is it doable? or these two cannot be combined techicaly?..
Small Tip: Maybe explain what stacks and queues are useful for before explaining how they work. In that order I want to know how they work and why they are important.
Hey dojo i am a indian school student class 12 I want to be a data scientist so which language I should learn first c++ or python... Please answer my question.
RUclips really should recommend this channel to more young ppl.
Thats not their policy yet
@Foodie Moody Liar. All you have are food videos. What's wrong with you?
Could not agree more. YK is a real teacher talent! Recommended!
I'm 13 and I watch it
@@kamilguchowski2793 and
Very easy to understand. Would like to see some coding examples too but this is nice. I have been a developer for 6 years and i'm just now getting into data structures. However i'm realizing that i've basically been using them all along without knowing it.
i use this channel and codebeauty. this one gives me an awsome overview whille codebeauty explains it with coding she uses c++
Love you brother, the best ex-Google/Facebook employee on RUclips
Imagine if your professor teaches like this and add up those simple analogies so their students will have an easier approach to grasp the lesson at hand..... anyways, thank you so much for your precious videos!
I was waiting for this video for a lot of time. This channel is best for Python I highly recommend it to my friends.
Great Y.K.
"This is how pancakes in the real world work"
Legendary!
These videos are great and the visuals help a lot. The black background in your videos seems to improve memory recall for some reason as opposed to a white background. Its easier to visualize what I saw from your videos, than others because of this and it does not burn your retinas out while watching them either lol.
I have watched almost all of your videos they are very helpful.
Can you start a series on JavaScript . Love your videos bro
Not sure if I can do an entire series, but I'm thinking of making a Chrome extension with JS at some point. Thanks for letting me know your thoughts anyway!
I have loved the quarantine life learning programming 24*7
感谢你的分享,让我学习了很多知识,谢谢。
understood nothing, but liking it anyway
I did a twitter bot with your video and stayed very happy!!! Hope this bot I made can help people to be happier, it spreads positive messages! thanks again!
That sounds great! Thank you for letting me know :)
can u share what vedios did u use
Bro, you just nailed the explanation part!!! Keep up the good work!!❤️❤️
Great video..you got it right a Deque is actually called a "Deck" or Double Ended Queue so many people get it wrong an call it a "De Que" then get it confused with Enque/Deque.
I really struggle on my studies on Computer Science, and I still want it to become successful in this path. Please help me sensei.
keep learning for a few decades that is the only way of becoming good at something
@@emanuelriquelmemontoya3819 Though you are right, if it doesn't come naturally to you even when taught over and over then you should consider choosing a different path, not everyone is made to do one thing we all have a strength and weaknesses.
Phew....I finally understood the gibberish my class was teaching
Another great video YK, thank you. I may not know much about data structures, but I know pancakes and you really break it down wonderfully. 🤣
I am CS student, and I have been following your channel for almost 2 years. It's a great explanation, but it would be more useful and more interesting if you could also show your explanation in code! Anyways thank you for your efforts!
Aaaaah this week I took the first lesson of the data structures course at school thank you 🤗
else if
It is really nice to learn this at age of 15 and good explanation...thank you
I just had a quiz on this subject and our topic was stack. This video was really helpful. Hopefully, you'll make a series about C or C++
Hi Margarita ;)
That octopus looks real busy. Good work explaining this.
You are the best pls keep uploading. Love from India
Yes I will!
your videos help me a lot thank you and please continue this course until the very end
finally found a good programming teacher..
Favorite quote: "That's how pancakes in the real world work."
You are AWESOME !! , you should interact with us by uploading videos on various topics !!!
I will!
You are very good at explaining stuff. It would have great if we could watch at some code example as well, simple ones.
@CS Dojo
Thankyou Sir for guiding us!
Finally you remembered you have a RUclips channel 😂😂😂. Awesome explanation btw👍🔥
Haha yes, sorry about the delay - but I'll post more
@@CSDojo no prpblem Dojo we will wait till die
That was ridiculous righto😀
@@CSDojo I'm waiting 😄. By the way I want to buy a laptop for college......Got any recommendations?
@@KilluaZoldyck-wj5cy im replying very late but i would recommend Dell XPS
I was just stuck on that problem at the end, thanks!
I liked the video just after playing it... and when I was done I wished I could like it again... thanks for the great content you never disappoint
Thanks, man. This is extremely illustrative and helpful! Your illustrations make it clear. You're a true teacher.
Please, keep doing it!
PS: I don't know what the heck an octopus was doing there, but I like it.
I am not the first....😗
I am not the last....😄
But as the notification came...😯
I click it so fast..!!!!.😲
That my phone got blast..!!!.😨
🌻🌻🌻
😂😂😂
How have I not found this channel before now?
I thought you stopped making videos, thank god your back , have learnt a lot from you , Thanks a lot !!!!!
Your videos are getting rarer to get hold of.
Sorry about that - I'll start posting more from now on
@@CSDojo don't be sorry, I am sure you're probably busy at work.
I learned so much from your interview problems and this DSA playlist.
So thank you for that.
This is what I'm waiting for Thankyou so much 🔥👍🙏
Hello Cs Dojo!!!. So much time again!!!
Hello, and sorry! I'll be faster :)
Best explanation for DS❤️😘🇮🇳
Can u please upload videos on regular basis......The way u guide through is really amazing...a sincere request ...🙏
I'll try my best. Thank you!
Yeah ... You're back ... Horrah .. so happy you're back ... Cheers for yk
This video is really helpful for me Thank you.
Curious why you use an array to hold your stack? Wouldn't a linked-list make more sense since it already has stack methods (e.g. push and pop)? You even mention that if you run out of space with your array you'd have to create a new array, one of its key limitations. I also find moving the pointer reference to a different index while keeping the value in place instead of actually popping the value to be an awkward representation of popping the top value of the stack
csdojo you the boy
Brilliant explanation, thank you
make a video in priority queue and heaps love from nepal❤
my friend says he likes your sweater; keep it up man! :)
Straightforward analogy. But what's an example of a use case for stacks and queues? In what type of scenario would I need to use a stack?
If I have a queue, and it's a tasks queue, once that one task is completed I should remove the element from the queue, or just move the pointers?
And if I should just move the pointers, once that the pointers are on its limits, I would have to create another bigger queue to do what I want, right? This approach wouldn't use a lot of memory?
Once I made this remark, am I right if I define a queue as something that should be just a collection of things that will be freed of the memory soon, once it's completed?
Edit1: I was searching about, and one good response that I found was to use linked-lists, what I think is a great approach, once that it is first-in first-out, so you wouldn't have the problem of needing to change something or access something in the middle of the list, at least I think so.
Edit2: @t
Here's the code I've developed so far, trying to solve this issue.
After a long wait.. Welcome back
Sorry for the wait! I'll try to be faster in the future.
Thanks a lot this was extremely helpful
hello bro l really like your explanation 👍it is amazing. l hope you will not stop making video anymore. If you make video about why you couldn't make video during these times it would be very good video. good luck everytime thanks in advance !!
welcome back YK
Thank you so much, these vedios are very helpful 🌸🌸🌸
THIS VIDEO IS SO GOOD
Thanks for teaching us!!
excellent, i learned it all
thanks! that's so easy to understand!
Hi Dojo! thanks for the cool video! Always fun and inspiring! I just started on coding, I wonder if I should focus more on algorithms or actual project?
I would say, work on a project first! I think having some inspiration is important.
Thank you i like your explanation
Great explanation 👏👏👏
Thank you!
Awesome explanation ❤
Thank you Sir
wow this helped me understand stack and queues easily Thank you really..... but i was curious how was he presenting like this?? i mean what tools are you using?
Here is my Deque class (in java) if someone needs example
public class CustomDeque {
private Integer[] dequeArray;
private int count;
private int max;
private int leftIndex;
private int rightIndex;
public CustomDeque(int length) {
dequeArray = new Integer[length]; //this array can be int if you don't need to store null values
count = 0;
max = length;
leftIndex = 0;
rightIndex = 1;
}
public void addLeft(int data) {
if (count >= max) {
System.out.println("Deque is full");
return;
}
dequeArray[leftIndex--] = data;
leftIndex = indexBounds(leftIndex);
count++;
}
public void addRight(int data) {
if (count >= max) {
System.out.println("Deque is full");
return;
}
dequeArray[rightIndex++] = data;
rightIndex = indexBounds(rightIndex);
count++;
}
public Integer popLeft() {
if (count == 0) {
System.out.println("Deque is empty");
return null;
}
leftIndex = indexBounds(++leftIndex);
count--;
int result = dequeArray[leftIndex];
//no need to empty values. Its enough to just move indices. This is purely to debug using toString() method
dequeArray[leftIndex] = null;
return result;
}
public Integer popRight() {
if (count == 0) {
System.out.println("Deque is empty");
return null;
}
rightIndex = indexBounds(--rightIndex);
count--;
int result = dequeArray[rightIndex];
//no need to empty values. Its enough to just move indices. This is purely to debug using toString() method
dequeArray[rightIndex] = null;
return result;
}
private int indexBounds(int index) {
if (index < 0) return dequeArray.length - 1;
if (index > dequeArray.length - 1) return 0;
return index;
}
@Override
public String toString() {
return "[CustomDeque] = leftIndex = " + leftIndex + "; rightIndex = " + rightIndex + "; dequeArray = " + Arrays.toString(dequeArray);
}
}
Thank you. This channel really helps me with my data structures homework and such!
solution in python
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
def parChecker(symbolString):
s = Stack()
balanced = True
index = 0
while index < len(symbolString) and balanced:
symbol = symbolString[index]
if symbol in "([{":
s.push(symbol)
else:
if s.isEmpty():
balanced = False
else:
top = s.pop()
if not matches(top,symbol):
balanced = False
index = index + 1
if balanced and s.isEmpty():
return True
else:
return False
def matches(open,close):
opens = "([{"
closers = ")]}"
return opens.index(open) == closers.index(close)
print(parChecker('{({([][])}())}'))
print(parChecker('[{()]'))
it feels like a crime watching this for free..
Amazing, I just subscribed!
Thanks cs dojo
You are great man.... And too cool
Thank you
THANK YOU
Thanks brother it really helped
useful, thanks
You are the life saver! Hontouni arigatou gozaimasu!
During a stack pop operation, is the top value deleted first and the value of "top" decremented after, or is it the other way around?
Is statistics major good for data science if so would I need a masters?
Good to see CS Dojo posting more!
Thank you, yes, and about master's - not sure. I think if I was you, I would do CS because it's easier to get a job with it. CS undergrad degree and whatever master's degree you feel like you need if you think you need it.
@@CSDojo yeah I’ve been struggling with my CS major, but I guess I just gotta put more effort then what I have been doing I’m in my 3rd year. Thanks!
Which software you use to make these illustrations
Can i combine queue and linkedlist? like making an algorithm that uses both algorithms' features? is it doable? or these two cannot be combined techicaly?..
Hello dojo please suggested a book for starting Java programming (beginner(starting))
Hmm actually I'm not sure, but I just started a Twitter thread here: twitter.com/ykdojo/status/1316926401354846208
Hopefully someone will answer it
Thank you dojo 😍
thank u bro!
Love you bro
Small Tip: Maybe explain what stacks and queues are useful for before explaining how they work. In that order I want to know how they work and why they are important.
bro what how is it possible to be this early to a coding video
I was wondering, won't it be much convenient if we used linked list instead of an array?
wtf!
How come I wasn't notified by RUclips when you posted this video?!?
Yaaayy!! You're back! :) 🙌🙌
A video on graph
and their algos
like bfs dfs dijkstra
fantastic
You videos are awesome bro, what software are you using to record your screen?
Thank you. I talk about all of it here: www.csdojo.io/faq
Can you make a series on java please. Cheers
Hey dojo i am a indian school student class 12 I want to be a data scientist so which language I should learn first c++ or python... Please answer my question.
I would go with Python :)
C++ is a way harder, so for begging python is one of the best , also python is really popular for data science rn and have a bunch of libraries, etc.
@@CSDojo thanks man
Hi CS Dojo, I was wondering if you could help me with Google not responding issue. It causing me too much trouble. Thanks in advance.
You’re amazing!
Thank you!
but How does it behave in codes?
Why overlapping is unbalanced?
Wouldn't it be better to use a linked list to implement a stack?
Can U use iphone while working in Google company ???
Hi please bro tell me the best laptop for programing and not expensive