Introduction to Stacks and Queues (Data Structures & Algorithms #12)

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ส.ค. 2024

ความคิดเห็น • 205

  • @thesheepthemightythecrazy
    @thesheepthemightythecrazy 3 ปีที่แล้ว +233

    TH-cam really should recommend this channel to more young ppl.

  • @abdullahbukhari1469
    @abdullahbukhari1469 3 ปีที่แล้ว +42

    Love you brother, the best ex-Google/Facebook employee on TH-cam

  • @nick_jacob
    @nick_jacob ปีที่แล้ว +37

    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.

    • @elijohn8114
      @elijohn8114 ปีที่แล้ว +3

      i use this channel and codebeauty. this one gives me an awsome overview whille codebeauty explains it with coding she uses c++

  • @virathshuklla172
    @virathshuklla172 3 ปีที่แล้ว +15

    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.

  • @eyalpery8470
    @eyalpery8470 3 ปีที่แล้ว +7

    "This is how pancakes in the real world work"
    Legendary!

  • @lancepaulino1303
    @lancepaulino1303 3 ปีที่แล้ว +6

    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!

  • @GhostVaibhav
    @GhostVaibhav 3 ปีที่แล้ว +8

    Bro, you just nailed the explanation part!!! Keep up the good work!!❤️❤️

  • @user-oh2ee8qv2c
    @user-oh2ee8qv2c 3 ปีที่แล้ว +3

    感谢你的分享,让我学习了很多知识,谢谢。

    • @ErenYeager-lu5cu
      @ErenYeager-lu5cu 2 ปีที่แล้ว +2

      understood nothing, but liking it anyway

  • @unitydeveloperkgk9836
    @unitydeveloperkgk9836 ปีที่แล้ว +13

    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.

  • @GauthamMohanraj
    @GauthamMohanraj 3 ปีที่แล้ว +3

    I have loved the quarantine life learning programming 24*7

  • @sairajpatil7652
    @sairajpatil7652 3 ปีที่แล้ว +19

    I have watched almost all of your videos they are very helpful.
    Can you start a series on JavaScript . Love your videos bro

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +9

      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!

  • @leonardourbanavicius
    @leonardourbanavicius 3 ปีที่แล้ว +2

    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!

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +2

      That sounds great! Thank you for letting me know :)

    • @lordmoriartea7799
      @lordmoriartea7799 3 ปีที่แล้ว

      can u share what vedios did u use

  • @maxxpellowski2916
    @maxxpellowski2916 2 ปีที่แล้ว +7

    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. 🤣

  • @jeppirukun2546
    @jeppirukun2546 3 ปีที่แล้ว +29

    I really struggle on my studies on Computer Science, and I still want it to become successful in this path. Please help me sensei.

    • @emanuelriquelmemontoya3819
      @emanuelriquelmemontoya3819 3 ปีที่แล้ว +3

      keep learning for a few decades that is the only way of becoming good at something

    • @sihyunpark6245
      @sihyunpark6245 3 ปีที่แล้ว +6

      @@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.

  • @sirxavior1583
    @sirxavior1583 2 ปีที่แล้ว

    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.

  • @BATMAN10N
    @BATMAN10N 3 ปีที่แล้ว +1

    Phew....I finally understood the gibberish my class was teaching

  • @manuelelkess8259
    @manuelelkess8259 3 ปีที่แล้ว +1

    your videos help me a lot thank you and please continue this course until the very end

  • @rosalindaalbrecht1795
    @rosalindaalbrecht1795 2 ปีที่แล้ว +1

    Favorite quote: "That's how pancakes in the real world work."

  • @udaysinh
    @udaysinh 3 ปีที่แล้ว +1

    It is really nice to learn this at age of 15 and good explanation...thank you

  • @garvitpahwa2349
    @garvitpahwa2349 3 ปีที่แล้ว +2

    You are the best pls keep uploading. Love from India

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +2

      Yes I will!

  • @Elif-ti9wf
    @Elif-ti9wf 3 ปีที่แล้ว +5

    Aaaaah this week I took the first lesson of the data structures course at school thank you 🤗

    • @list9016
      @list9016 2 ปีที่แล้ว

      else if

  • @jagbetuyi001
    @jagbetuyi001 ปีที่แล้ว

    That octopus looks real busy. Good work explaining this.

  • @azimmirzoev6704
    @azimmirzoev6704 3 ปีที่แล้ว +14

    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!

  • @prathamesh_b
    @prathamesh_b 3 ปีที่แล้ว

    @CS Dojo
    Thankyou Sir for guiding us!

  • @NikhilKumar-fj2dg
    @NikhilKumar-fj2dg 3 ปีที่แล้ว +1

    This is what I'm waiting for Thankyou so much 🔥👍🙏

  • @margaritashielatimbal638
    @margaritashielatimbal638 3 ปีที่แล้ว +2

    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++

    • @CarlC9898
      @CarlC9898 2 ปีที่แล้ว

      Hi Margarita ;)

  • @sahelijati5851
    @sahelijati5851 3 ปีที่แล้ว +1

    finally found a good programming teacher..

  • @mandre2390
    @mandre2390 2 ปีที่แล้ว

    I was just stuck on that problem at the end, thanks!

  • @gayatrit3149
    @gayatrit3149 3 ปีที่แล้ว +2

    I thought you stopped making videos, thank god your back , have learnt a lot from you , Thanks a lot !!!!!

  • @mohammadyasir8700
    @mohammadyasir8700 3 ปีที่แล้ว +7

    You are AWESOME !! , you should interact with us by uploading videos on various topics !!!

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +2

      I will!

  • @DarthVader-wm6tf
    @DarthVader-wm6tf 3 ปีที่แล้ว +1

    Yeah ... You're back ... Horrah .. so happy you're back ... Cheers for yk

  • @Alex-bc3tt
    @Alex-bc3tt 3 ปีที่แล้ว +2

    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

  • @milnueve89
    @milnueve89 3 ปีที่แล้ว +8

    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.

  • @KilluaZoldyck-wj5cy
    @KilluaZoldyck-wj5cy 3 ปีที่แล้ว +4

    Finally you remembered you have a TH-cam channel 😂😂😂. Awesome explanation btw👍🔥

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +3

      Haha yes, sorry about the delay - but I'll post more

    • @Abdullah-cp6eb
      @Abdullah-cp6eb 3 ปีที่แล้ว +1

      @@CSDojo no prpblem Dojo we will wait till die
      That was ridiculous righto😀

    • @KilluaZoldyck-wj5cy
      @KilluaZoldyck-wj5cy 3 ปีที่แล้ว

      @@CSDojo I'm waiting 😄. By the way I want to buy a laptop for college......Got any recommendations?

    • @shahzebkhalid5591
      @shahzebkhalid5591 2 ปีที่แล้ว

      @@KilluaZoldyck-wj5cy im replying very late but i would recommend Dell XPS

  • @lucyledezma709
    @lucyledezma709 3 ปีที่แล้ว

    Hello Cs Dojo!!!. So much time again!!!

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +1

      Hello, and sorry! I'll be faster :)

  • @davdeveloper
    @davdeveloper 10 หลายเดือนก่อน

    You are very good at explaining stuff. It would have great if we could watch at some code example as well, simple ones.

  • @itsd3br33
    @itsd3br33 ปีที่แล้ว

    Brilliant explanation, thank you

  • @Gooman15YT
    @Gooman15YT 3 ปีที่แล้ว +1

    excellent, i learned it all

  • @cowsofliberty5230
    @cowsofliberty5230 2 หลายเดือนก่อน

    csdojo you the boy

  • @souhardya69
    @souhardya69 3 ปีที่แล้ว

    After a long wait.. Welcome back

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +1

      Sorry for the wait! I'll try to be faster in the future.

  • @manu-singh
    @manu-singh 3 ปีที่แล้ว +2

    Your videos are getting rarer to get hold of.

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +1

      Sorry about that - I'll start posting more from now on

    • @manu-singh
      @manu-singh 3 ปีที่แล้ว +1

      @@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.

  • @selvalakshmis.v4232
    @selvalakshmis.v4232 3 ปีที่แล้ว

    This video is really helpful for me Thank you.

  • @delealli9965
    @delealli9965 2 ปีที่แล้ว

    THIS VIDEO IS SO GOOD

  • @Sirbikingviking
    @Sirbikingviking 2 ปีที่แล้ว

    How have I not found this channel before now?

  • @itsfaithtime
    @itsfaithtime 3 ปีที่แล้ว

    Yaaayy!! You're back! :) 🙌🙌

  • @Mememeep
    @Mememeep 2 ปีที่แล้ว

    thanks! that's so easy to understand!

  • @rupamsud718
    @rupamsud718 3 ปีที่แล้ว +1

    welcome back YK

  • @bjarneStroustrup350
    @bjarneStroustrup350 3 ปีที่แล้ว

    Best explanation for DS❤️😘🇮🇳

  • @minimalinput6456
    @minimalinput6456 2 ปีที่แล้ว

    Thanks a lot this was extremely helpful

  • @alphayowakarindi
    @alphayowakarindi 2 ปีที่แล้ว

    Thank you!

  • @NaveenKumar-uq6zd
    @NaveenKumar-uq6zd 3 ปีที่แล้ว

    Thanks for teaching us!!

  • @zarrinnahid448
    @zarrinnahid448 3 ปีที่แล้ว

    Thank you so much, these vedios are very helpful 🌸🌸🌸

  • @misosoup7531
    @misosoup7531 2 ปีที่แล้ว

    my friend says he likes your sweater; keep it up man! :)

  • @shubhambhardwaj8894
    @shubhambhardwaj8894 3 ปีที่แล้ว

    Awesome explanation ❤

  • @markmulder9845
    @markmulder9845 3 ปีที่แล้ว

    Thank you. This channel really helps me with my data structures homework and such!

  • @list9016
    @list9016 2 ปีที่แล้ว

    it feels like a crime watching this for free..

  • @barataapsii2466
    @barataapsii2466 2 ปีที่แล้ว

    Thank you Sir

  • @shashankkr1008
    @shashankkr1008 3 ปีที่แล้ว

    Great explanation 👏👏👏

  • @nuridalarasati8694
    @nuridalarasati8694 2 ปีที่แล้ว

    Thank you i like your explanation

  • @kenkioqqo
    @kenkioqqo ปีที่แล้ว

    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?

  • @kartikbilagiarts7213
    @kartikbilagiarts7213 3 ปีที่แล้ว +18

    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..!!!.😨
    🌻🌻🌻
    😂😂😂

  • @vishalpawar096
    @vishalpawar096 3 ปีที่แล้ว

    You are great man.... And too cool

  • @veerrathod3747
    @veerrathod3747 3 ปีที่แล้ว

    Thanks brother it really helped

  • @jamezjaz
    @jamezjaz 3 ปีที่แล้ว

    Amazing, I just subscribed!

  • @magacaygamaxamuud7253
    @magacaygamaxamuud7253 3 ปีที่แล้ว

    Thanks cs dojo

  • @nayanasagar6062
    @nayanasagar6062 3 ปีที่แล้ว

    Can u please upload videos on regular basis......The way u guide through is really amazing...a sincere request ...🙏

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +2

      I'll try my best. Thank you!

  • @subham2593
    @subham2593 3 ปีที่แล้ว +1

    Love you bro

  • @tushig.b.6526
    @tushig.b.6526 3 ปีที่แล้ว

    You are the life saver! Hontouni arigatou gozaimasu!

  • @delealli9965
    @delealli9965 2 ปีที่แล้ว

    THANK YOU

  • @ishanpokhrel5972
    @ishanpokhrel5972 3 ปีที่แล้ว +2

    make a video in priority queue and heaps love from nepal❤

  • @samrasoli
    @samrasoli ปีที่แล้ว

    useful, thanks

  • @bara7979
    @bara7979 ปีที่แล้ว

    Thank you

  • @pietromantova7859
    @pietromantova7859 4 หลายเดือนก่อน

    thank u bro!

  • @leviermonaites6832
    @leviermonaites6832 3 ปีที่แล้ว

    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.

  • @Gooman15YT
    @Gooman15YT 3 ปีที่แล้ว

    bro what how is it possible to be this early to a coding video

  • @haomintian6815
    @haomintian6815 3 ปีที่แล้ว +2

    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?

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +1

      I would say, work on a project first! I think having some inspiration is important.

  • @paradigmshift2223
    @paradigmshift2223 3 ปีที่แล้ว

    fantastic

  • @doniyorrustamov996
    @doniyorrustamov996 3 ปีที่แล้ว

    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 !!

  • @OforiwaaAmanfo-Sam
    @OforiwaaAmanfo-Sam 3 ปีที่แล้ว

    You’re amazing!

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว

      Thank you!

  • @moodleblitz
    @moodleblitz 2 ปีที่แล้ว

    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?

  • @davidpalafox6978
    @davidpalafox6978 3 ปีที่แล้ว +1

    Is statistics major good for data science if so would I need a masters?
    Good to see CS Dojo posting more!

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +2

      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.

    • @davidpalafox6978
      @davidpalafox6978 3 ปีที่แล้ว

      @@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!

    • @procode6881
      @procode6881 3 ปีที่แล้ว

      Which software you use to make these illustrations

  • @krzysztofkalinowski2998
    @krzysztofkalinowski2998 6 หลายเดือนก่อน +1

    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);
    }
    }

  • @jfklittle
    @jfklittle 3 ปีที่แล้ว +1

    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.

  • @junaidahmed3981
    @junaidahmed3981 3 ปีที่แล้ว

    I was wondering, won't it be much convenient if we used linked list instead of an array?

  • @Mystel077
    @Mystel077 3 ปีที่แล้ว

    thanks 💜😊

  • @selindoga
    @selindoga 3 ปีที่แล้ว

    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?..

  • @udaykiran6250
    @udaykiran6250 3 ปีที่แล้ว +1

    Hello dojo please suggested a book for starting Java programming (beginner(starting))

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +1

      Hmm actually I'm not sure, but I just started a Twitter thread here: twitter.com/ykdojo/status/1316926401354846208
      Hopefully someone will answer it

    • @udaykiran6250
      @udaykiran6250 3 ปีที่แล้ว

      Thank you dojo 😍

  • @weltmeister
    @weltmeister 3 ปีที่แล้ว

    I would've needed this a couple months ago

  • @godwinprecious2713
    @godwinprecious2713 3 ปีที่แล้ว

    wtf!
    How come I wasn't notified by TH-cam when you posted this video?!?

  • @saketverma8243
    @saketverma8243 3 ปีที่แล้ว +1

    Tq bro

  • @jiejiazhang7800
    @jiejiazhang7800 2 ปีที่แล้ว

    but How does it behave in codes?

  • @_13eki
    @_13eki 3 ปีที่แล้ว

    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?

  • @nikhilnayak2179
    @nikhilnayak2179 3 ปีที่แล้ว +1

    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('[{()]'))

  • @athukuricharan84
    @athukuricharan84 2 ปีที่แล้ว

    which software are you using for the effects in this video?

  • @user-pe1ek5vz6q
    @user-pe1ek5vz6q 2 ปีที่แล้ว

    Why overlapping is unbalanced?

  • @adityasatyam6300
    @adityasatyam6300 3 ปีที่แล้ว

    Amazing man 🥰😍🤩

  • @dianneroces883
    @dianneroces883 3 ปีที่แล้ว

    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.

  • @raymondjude47
    @raymondjude47 3 ปีที่แล้ว

    You videos are awesome bro, what software are you using to record your screen?

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +1

      Thank you. I talk about all of it here: www.csdojo.io/faq

  • @rayneilaquino3286
    @rayneilaquino3286 3 ปีที่แล้ว

    What app/ program did you use in creating this video?

  • @MinatoNamikaze18034
    @MinatoNamikaze18034 3 ปีที่แล้ว +1

    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.

    • @CSDojo
      @CSDojo  3 ปีที่แล้ว +3

      I would go with Python :)

    • @arigatou9199
      @arigatou9199 3 ปีที่แล้ว

      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.

    • @MinatoNamikaze18034
      @MinatoNamikaze18034 3 ปีที่แล้ว

      @@CSDojo thanks man