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!
@@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.
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 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.
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.
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?
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 !!
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.
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); } }
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.
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?..
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?
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.
TH-cam 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
Love you brother, the best ex-Google/Facebook employee on TH-cam
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++
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!
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!
Bro, you just nailed the explanation part!!! Keep up the good work!!❤️❤️
感谢你的分享,让我学习了很多知识,谢谢。
understood nothing, but liking it anyway
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 loved the quarantine life learning programming 24*7
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 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
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 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.
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.
Phew....I finally understood the gibberish my class was teaching
your videos help me a lot thank you and please continue this course until the very end
Favorite quote: "That's how pancakes in the real world work."
It is really nice to learn this at age of 15 and good explanation...thank you
You are the best pls keep uploading. Love from India
Yes I will!
Aaaaah this week I took the first lesson of the data structures course at school thank you 🤗
else if
That octopus looks real busy. Good work explaining this.
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!
@CS Dojo
Thankyou Sir for guiding us!
This is what I'm waiting for Thankyou so much 🔥👍🙏
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 ;)
finally found a good programming teacher..
I was just stuck on that problem at the end, thanks!
I thought you stopped making videos, thank god your back , have learnt a lot from you , Thanks a lot !!!!!
You are AWESOME !! , you should interact with us by uploading videos on various topics !!!
I will!
Yeah ... You're back ... Horrah .. so happy you're back ... Cheers for yk
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.
Finally you remembered you have a TH-cam 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
Hello Cs Dojo!!!. So much time again!!!
Hello, and sorry! I'll be faster :)
You are very good at explaining stuff. It would have great if we could watch at some code example as well, simple ones.
Brilliant explanation, thank you
excellent, i learned it all
csdojo you the boy
After a long wait.. Welcome back
Sorry for the wait! I'll try to be faster in the future.
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 video is really helpful for me Thank you.
THIS VIDEO IS SO GOOD
How have I not found this channel before now?
Yaaayy!! You're back! :) 🙌🙌
thanks! that's so easy to understand!
welcome back YK
Best explanation for DS❤️😘🇮🇳
Thanks a lot this was extremely helpful
Thank you!
Thanks for teaching us!!
Thank you so much, these vedios are very helpful 🌸🌸🌸
my friend says he likes your sweater; keep it up man! :)
Awesome explanation ❤
Thank you. This channel really helps me with my data structures homework and such!
it feels like a crime watching this for free..
Thank you Sir
Great explanation 👏👏👏
Thank you i like your explanation
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?
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..!!!.😨
🌻🌻🌻
😂😂😂
You are great man.... And too cool
Thanks brother it really helped
Amazing, I just subscribed!
Thanks cs dojo
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!
Love you bro
You are the life saver! Hontouni arigatou gozaimasu!
THANK YOU
make a video in priority queue and heaps love from nepal❤
useful, thanks
Thank you
thank u bro!
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.
bro what how is it possible to be this early to a coding video
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.
fantastic
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 !!
You’re amazing!
Thank you!
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
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);
}
}
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.
I was wondering, won't it be much convenient if we used linked list instead of an array?
thanks 💜😊
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 😍
I would've needed this a couple months ago
wtf!
How come I wasn't notified by TH-cam when you posted this video?!?
Tq bro
but How does it behave in codes?
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?
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('[{()]'))
which software are you using for the effects in this video?
Why overlapping is unbalanced?
Amazing 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 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
What app/ program did you use in creating this video?
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