Linked Lists for Technical Interviews - Full Course

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 มิ.ย. 2024
  • Learn how to solve linked list problems for coding challenges and interviews.
    ✏️ This course was developed by Alvin Zablan from Structy. Check out his channel: / alvintheprogrammer
    🔗 Study more data structures and algorithms with Alvin in his complete course: structy.net/
    ⭐️ Course Contents ⭐️
    ⌨️ (0:00:00) Course Introduction
    ⌨️ (0:01:09) What is a Linked List?
    ⌨️ (0:09:22) Linked List Traversal
    ⌨️ (0:23:36) Linked List Values (structy.net/problems/linked-l...)
    ⌨️ (0:33:10) Sum List (structy.net/problems/sum-list)
    ⌨️ (0:42:31) Linked List Find (structy.net/problems/linked-l...)
    ⌨️ (0:51:03) Get Node Value (structy.net/problems/get-node...)
    ⌨️ (0:59:32) Reverse List (structy.net/problems/reverse-...)
    ⌨️ (1:09:50) Zipper Lists (structy.net/problems/zipper-l...)
    🎉 Thanks to our Champion and Sponsor supporters:
    👾 Raymond Odero
    👾 Agustín Kussrow
    👾 aldo ferretti
    👾 Otis Morgan
    👾 DeezMaster
    --
    Learn to code for free and get a developer job: www.freecodecamp.org
    Read hundreds of articles on programming: freecodecamp.org/news

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

  • @ragsbigfella
    @ragsbigfella 2 ปีที่แล้ว +241

    I love Alvin's way of teaching. I loved his Dynamic programming video. Please ask him to make some more videos like Graphs and Trees.

    • @spaceface2288
      @spaceface2288 2 ปีที่แล้ว +4

      He already made videos on those topics bruh

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

      Graphs: th-cam.com/video/2_Uuixtc5i0/w-d-xo.html

    • @calebo.a.6270
      @calebo.a.6270 2 ปีที่แล้ว

      Same here

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

      @@spaceface2288 He's going to love them.

  • @lilyh4573
    @lilyh4573 2 ปีที่แล้ว +75

    I've watched sooooooooo many TH-cam tutorials - this guy is legit the best teacher I've come across so far! Very clear. Thank you so much Alvin

  • @RahulD600
    @RahulD600 2 ปีที่แล้ว +12

    I love Alvin's way of teaching! He's really a master! Thank you very much!

  • @tf1n
    @tf1n 2 ปีที่แล้ว +6

    Best video on LL’s that I’ve seen. Thank you, Teacher Alvin!

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

    Started learning linked list this week and could not understand the code for it at all until this video... Super appreciative, this community exists.

  • @morenomt27
    @morenomt27 ปีที่แล้ว +4

    Thank you for this Alvin. I had a hard time refreshing linked list by watching countless tutorials and I can't understand why I can't move on with problems. While you are explaining, I am able to answer problems!

  • @chukwunta
    @chukwunta ปีที่แล้ว +10

    This is all you need to learn about linked-list. This is my fifth time viewing and I always seem to comeback and learn something new. It is such an amazing resource. Thanks @Alvin

  • @immythic8351
    @immythic8351 2 ปีที่แล้ว +28

    Bro you explain so good that i've been able to perform the tasks without watching the whole video. Just got the idea and solved it by myself. I love you, Alvin. Happy New Year, mate!

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

      same!

  • @omarkyon1933
    @omarkyon1933 2 ปีที่แล้ว +4

    Really cool to see you here Alvin. Great explanations as usual

  • @maozbenkalif598
    @maozbenkalif598 ปีที่แล้ว +22

    08:25 one small correction, the order of inserting a node to a linkedlist is that the node you wish to enter has to point first to the node and then you have to take node b to point on node q, if you start by pointing b to q first you will lose all the data of c and d. Great video !! loved it

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

      yup, q.next = c then b.next = q

    • @pharaoh9483
      @pharaoh9483 10 หลายเดือนก่อน +1

      Oof, hate when people teach wrong things, they should have re edited the video

  • @m.y.7230
    @m.y.7230 3 หลายเดือนก่อน +1

    Hands down the best explanation for linked list. It finally clicked on me after 3 days banging my head against the wall. His algorithms are way more intuitive, both iterative and recursive versions, much much more than what other instructors talked about. Thank you!

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

    I like the way Alwin simplifies the concepts and problems. learnt a lot. Thanks

  • @Pupu._
    @Pupu._ ปีที่แล้ว +2

    Alvin is so to the point and voice is good to hear 🙌

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

    Alvin you are the best programming sensei. This Linked List tutorial is just ridiculously good...

  • @anandvardhan2514
    @anandvardhan2514 2 ปีที่แล้ว +4

    Your videos are awesome..Saw your video on Dynamic programming and since then i am not facing any problem in solving such questions.

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

    Alvin we need more of you guys. Grow up your channel. You are a hero

  • @sriram-uu6yd
    @sriram-uu6yd 2 ปีที่แล้ว +5

    Trust me, I was searching for an hour yesterday to find a good resource to learn Linked Lists. Thank you, FCC.

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

    loved the explanation! Though I knew all these concepts before, I just watched anyway.

  • @zeynepdagci2801
    @zeynepdagci2801 2 ปีที่แล้ว +10

    your courses're amazing!! I have an interview with google in a couple of hour, I hope your courses work for me !!!

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

    Absolutely the best tutorial video on linked lists. Thank you so much, Alvin! Fantastic teacher.

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

    His tutorial are pure 💎

  • @samihk1
    @samihk1 2 ปีที่แล้ว +10

    Completed complete video in one go, took me 4 hours.
    Thanks Alvin!!
    so on point.

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

      then you forget it the next day haha

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

      @@JustinK0 nope. It sticks with you onwards.
      The concepts might be new, but a programmer shouldn't have any problem catching on.
      All of these are just basic OOP codes deployed in novel ways

    • @madman3727
      @madman3727 7 หลายเดือนก่อน

      @@ezeanichucks3728 even as programmar you should just split it in hour long study and do continue next day. Whenever I watch in one go I usually forget some important things but when I learn them each day slowly they straight goes to my long term memory

    • @whetfaartz6685
      @whetfaartz6685 3 หลายเดือนก่อน

      ​@@JustinK0practice.. inserting.. deleting.. repeating or writing pseudo-code or writing it down on paper and it'll stick with you HARD

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

    what an excellent teacher!

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

    Awesome Video!!! thanks for the detail explanations.

  • @pankkajsen
    @pankkajsen 2 ปีที่แล้ว +6

    Given a blind like because of Alvin👍…and added to my “Immediate watch” list 😀

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

    Great video Alvin!

  • @Sz-hi7wj
    @Sz-hi7wj 2 ปีที่แล้ว +1

    welcome back Alvin!

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

    i rlly like the way you explain the problem step by step.

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

    For the iterative Zipper implementation, we need a null check for head1 (ideally for head2 as well). if(head1 === null) return head2; if(head2 === null) return head1;

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

    I love this! I never knew exactly what is a linked list until now and this gives me a ton of awesome ideas! Honestly, thank you very much!

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

    Thanks. This is top notch. On my way to subscribe. Frankly best content ever. Quick and eloquent.

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

    Thank you very much. The best explanaition of js linked lists

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

    The best I have seen so far...Thank you so much... I just checked your platform to make a purchase to go deeper but I couldn't find C# language option (that's my core language).
    I don't know if there will be room for that in the future?
    I greatly benefited from this JavaScript version.

  • @a_maxed_out_handle_of_30_chars
    @a_maxed_out_handle_of_30_chars 2 ปีที่แล้ว +9

    seeing alvin puts a smile on my face :)

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

    The video that I had been searching. Thank you so much

  • @abolfazljahangir1651
    @abolfazljahangir1651 2 หลายเดือนก่อน +1

    You are amazing Alvin! I've learned a lot from you🙌

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

    Bro your research and best way of analysis is amazing.
    Who else find this list helpful ️️

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

    Completed watching this tutorial, very informative, thanks a lot 🎉😊

  • @pauzhou8639
    @pauzhou8639 9 หลายเดือนก่อน +2

    omg who is this guy? He has the best algor interview videos !!

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

    I just realized watching theory tutorials in other languages actually makes learning so much more intuitive, since you can't just blindly copy. You're forced to understand how your language works, and you're forced to implement those ideas without really being able to "cheat". Wow. I'm gonna start watching C tutorials and do them in python. I'm about to hit 10x developer once I understand all this

    • @servantofthelord8147
      @servantofthelord8147 8 หลายเดือนก่อน

      This is a very good point. I never realized this. This whole time I was trying to avoid tutorials in different languages, not realizing that they were the key to helping my solidify my understanding. Good observation!

    • @madman3727
      @madman3727 7 หลายเดือนก่อน +1

      same I was forced to code this in my learning language and I was surprised to see how quickly I learned

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

    man this is the best explanation ever.

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

    Amazing, this guy is dynamic and engaging

  • @japarjarkynbyek8494
    @japarjarkynbyek8494 8 หลายเดือนก่อน

    Love it as always! Big kudos!

  • @thelastminutetrade
    @thelastminutetrade 2 ปีที่แล้ว +10

    Bro your research and best way of analysis is amazing.
    Who else find this list helpful ❣️❣️

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

    thank you! needed this video!

  • @user-tl5cy1rb8v
    @user-tl5cy1rb8v หลายเดือนก่อน

    I love the way he explain and able to grasp things even though I am a beginner.

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

    Excellent!

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

    My dude is back!!!

  • @AnkurSharma-hf9jn
    @AnkurSharma-hf9jn ปีที่แล้ว

    Best explanation ever Now I'm much more confidence writing link list problem.

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

    Great teacher!

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

    Amazing !

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

    What a co-incidence .tomorrow we have a amazon technical interview , hope It would help.

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

    Alvin you are a great teacher.

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

    All the members of your department are great

  • @foravidalalsharma1291
    @foravidalalsharma1291 2 ปีที่แล้ว +8

    I wish you had Java as one of the programming languages, but I still loved your course and was able to interpret everything in Java because of how you explained the algorithms, it was so simple to even understand recursive, something I always mess up. Thank you!!

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

    Thank you so much. You're the best!!!!

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

    Fantastic!!!

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

    Smooth Explanation.

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

    great help! thank you

  • @sampathsai5509
    @sampathsai5509 2 ปีที่แล้ว +9

    I love the way you teach 😍.
    Please create a course on Backtracking.

  • @rem.kudusov
    @rem.kudusov 9 หลายเดือนก่อน

    Thank you, bro!

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

    Excellent explanation

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

    Beautiful!

  • @servantofthelord8147
    @servantofthelord8147 8 หลายเดือนก่อน

    Thank you!

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

    As Always, Thanks a Trillion.....
    ♥️♥️♥️♥️♥️♥️♥️♥️🌿🌿🌿🌿🌿🌿

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

    Best teacher ever!!!

  • @sergismael
    @sergismael 8 หลายเดือนก่อน +1

    Good job.

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

    Thanks!

  • @Luke-gr6dg
    @Luke-gr6dg 4 หลายเดือนก่อน

    I love that you said "A"'s next is "B". That makes link list much easier to conceptualize than other sources which overly complicate it.

    • @whetfaartz6685
      @whetfaartz6685 3 หลายเดือนก่อน

      That's exactly how I see it

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

    for zipperlist iterative approach, when you add the rest of the list that is leftover tail isn't reassigned to be the new tail. In this case, you're just using "tail" as a pointer to the current end of the constructed list. And tail isnt assigned at all in the recursive solution. Would there be an extra step to iterate through the leftover list to the end and reassign tail? Thanks for your great videos 🔥🔥🔥

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

    muchas gracias !!!

  • @tomashoracek7187
    @tomashoracek7187 4 หลายเดือนก่อน +1

    Awesome vids helping me with my uni subject Foundations of Programming, they give us 15 small programming exercises every week for points that count to final mark and also credit and they gave us exercises such as programm ringbuffer using linked list, program queues and stack using linked list. Merge two ordered linked lists and so on xd

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

    Thanks man, your recursive method is great

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

      2nd watched.

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

      Last zipper recursive method is not easily to understand.

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

    Helpful always 👍

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

      True

    • @ankit-h8470
      @ankit-h8470 2 ปีที่แล้ว

      @@mrrishiraj88 This_Reply = True;

  • @aidardusukov2263
    @aidardusukov2263 11 หลายเดือนก่อน

    Thanks a lot!!!

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

    Alvin the boss is back in the hood!!!!!!

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

    ALVIN the GOAT!

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

    thanks ...appreciate it

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

    Nice!

  • @hi-tk4hu
    @hi-tk4hu ปีที่แล้ว

    Best video on LL for beginner

  • @heybibleefan
    @heybibleefan 8 หลายเดือนก่อน

    BEST LINKEDLIST VIDEO EVER

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

    Thankyou Very Very Much🙂🙂🙂🙂🙂🙂

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

    you have saved my life

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

    Hands down the best algorithm explanations. $ Structy purchase.

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

    very appreciated .. 😎🌹✌👍👌

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

    best teacher :DD

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

    I love this channel

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

    The way you explain the link list, even a foolish can understand it. Thanks a lot 😊

  • @Eslam-ig2gf
    @Eslam-ig2gf ปีที่แล้ว

    Thanks

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

    The Dynammic programming one was a blockbuster hence m here cheer

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

    last zipper recursion was awesome beauty

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

    cool , i am just wonder how did you do such a wonderful explation of animation ?

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

    Alvin the boss

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

    Thank you so much for the course , as always it's awesome!
    Can somebody help me please and explain if instead of creating variable `currentHead` inside the function we'll just work with argument `head` and inside while loop just write `head = head.next`
    It's working in both cases but I want to see if it's any downside in this approach or something like that.
    Thanks in advance !

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

      it's more complicated to read because of the cognitive overload, so for readability purposes it losses points.

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

    now i'm gonna crush this ;)

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

    Oh, thank you very much for such clear and understandable tutorial. It is really awesome and very helpful...

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

    Realy nice teaching style. Just one question. @ 37:00 it says the space is O(n) for the recursive sumList function. That is true for how it is implemented. But couldn't we also achieve O(1) by passing the sum variable into every recursion like it's done with the recursive linkedListValues? Wouldn't hat be much more optimised?

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

      From what I understand, space complexity of O(n) means, in the worst case there will be 'n' call stacks ( i.e when we reach the tail of the linklist), thus passing the integer as a argument will still create n call stacks, hence O(n).

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

      @@atharvarane6165 then why is it different in the recursive version of linkedListValues?

    • @atharvarane6165
      @atharvarane6165 2 ปีที่แล้ว +5

      @@iamlookto Must be a mistake, because the memory complexity is determined by the number of return statements because each function call will be stored on the program stack. To generalize, a recursive function's memory complexity is O(recursion depth). As our tree depth suggests, we will have n total return statements and thus the memory complexity is O(n).

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

    this is literally the best video I seen on this. However, you said it can be anything in the data. However, in C# and Java would be different. it would have to be what you choose it to be because you have to initialize the type of data it has to enter so all the nodes would have integers. Am I right or am I wrong?

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

    Good

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

    Alvin is lit