JavaScript Data Structures: Getting Started

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ส.ค. 2020
  • When working with JavaScript, you'll work with data structures all the time. That includes built-in ones like Arrays, Objects, Maps or Sets but - especially if you dive deeper into JavaScript - also custom data structures like Linked Lists, Trees or Graphs. This course covers it all and in this video we will get started with the basics!
    Join the full "JavaScript Data Structures - The Fundamentals" course: acad.link/js-ds-fundamentals
    The course is also part of our Academind Pro membership (30+ courses for only $19 per month): pro.academind.com/
    Join our Academind Community on Discord: / discord
    Check out all our other courses: academind.com/learn/our-courses
    ----------
    • Go to www.academind.com and subscribe to our newsletter to stay updated and to get exclusive content & discounts
    • Follow @maxedapps and @academind_real on Twitter
    • Follow @academind_real on Instagram: / academind_real
    • Join our Facebook community on / academindchannel
    See you in the videos!
    ----------
    Academind is your source for online education in the areas of web development, frontend web development, backend web development, programming, coding and data science! No matter if you are looking for a tutorial, a course, a crash course, an introduction, an online tutorial or any related video, we try our best to offer you the content you are looking for. Our topics include Angular, React, Vue, Html, CSS, JavaScript, TypeScript, Redux, Nuxt.js, RxJs, Bootstrap, Laravel, Node.js, Progressive Web Apps (PWA), Ionic, React Native, Regular Expressions (RegEx), Stencil, Power BI, Amazon Web Services (AWS), Firebase or other topics, make sure to have a look at this channel or at academind.com to find the learning resource of your choice!

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

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

    thank u, Max, in case others may wonder what's next, here's the list
    Stacks (custom)
    Queues (custom)
    Hash Tables (custom)
    Basic Trees (custom)
    Binary Search Trees (BST, custom)
    AVL Trees (custom)
    Priority Queues (custom)
    Heaps (custom)
    Graphs (custom

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

    0:00:00 Intro
    0:06:16 Arrays
    0:15:14 Sets
    0:21:00 Arrays vs Sets
    0:22:35 Objects
    0:29:41 Maps
    0:37:18 Objects vs Maps
    0:39:02 WeakSet & WeakMap
    0:41:18 A Custom Data Structure - Linked List
    1:24:00 Why would you want a Linked List
    1:26:46 Time Complexity & Big O Notation
    1:28:42 Linked List Time Complexity and Arrays

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

    Max your skills admires me to learn all the unknown new framework . You are simply amazing. I have done your Angular course with PWA and now Mongo!!!

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

    My interest in js was slowly fading because of all the boring stuff I wad doing on a daily basis.
    The way you teach is appreciable , you made me hungry to learn again! Thanks
    Subbed ... Why didn't I find this channel earlier??
    Thanks a lot

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

    The way you walk through building the linked list code is so helpful, thanks!

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

    I just bought your react native course on Udemy and I remembered DS with javascript and I said I need to find a course about that and I get yours here . What a coincidence, you're great .

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

      Sorry to be so off topic but does anyone know of a way to get back into an instagram account??
      I was stupid forgot my login password. I love any tips you can offer me.

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

    Thanks max, for this course and its really going to help lot of js dev

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

    Thank you Max, i'm really grateful. I've been trying to wrap my head around data structures since i was told about it, but it always seemed so difficult and confusing. But, after watching both your tutorials on Big O notation and data structures, it's all starting to make sense and i'm understanding it much better😁😁😁😁, i even added two extra functions to my LinkedList class (removeHead and removeTail) and it worked fine. Thank you for your support, i'll be sure to get the course on Udemy soon enough😊😊😊😊😊😊

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

    Man, you explain things so well. Its amazing. Love the content

  • @sci-sim
    @sci-sim 3 ปีที่แล้ว +1

    I love the way you approached it, please keep continuing, Thanks a lot

  • @user-gu5ts5nx8r
    @user-gu5ts5nx8r 4 ปีที่แล้ว +4

    Max, thank you so much for sharing this great content.
    It is really very useful and helpful.
    Can't really believe it is free.
    Thanks again.

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

    Linked list Example is helpful and great. Just two suggestions Max
    1. In the insertAt method, this.tail reference will not be changed if we insert element after the tail.
    2. The delete will thrown error if there is only one element in the list and if we delete that element. Moving the check 'if(!this.head) return' check after the first loop will fix this.

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

    Awesome explanation. I was afraid to learn about Data structure, but you made easy to understand. Thankyou Max

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

    Awesome ! I just started data structure in javascript & u uploaded this video :)

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

    you are my favorite tutor in youtube. your teaching are so good .

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

    I started learning to program about a month ago and this class was very elucidating. Thank you so much for your giving us part of your knowledge for free!

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

    Thank you Max. Love your dedication in these troubling times.

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

    what datastructure will you choose when you need to store list of objects and you need to get item by id , items by ids and also filter by object properties? arrays or map witf for loop filter? or something custom?

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

    Max, nice video. Thank you.
    One suggestion: you may also create a Node class so that simply we can create a new Node object with value having next property set to null (like as new Node(value).

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

    Thanks so so much maxx, i began my career because of you!!!!!!

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

    I have just one word for you - GREAT.

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

    clear, concise, to the point.. Thanks!

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

    A good usecase for sets would be to store usernames in a database since they need to be unique for every user, good video so far 😊

  • @yasser.dev7
    @yasser.dev7 4 ปีที่แล้ว +1

    Really really amazing tutorial, thank you so much MAX.

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

    This is what I was looking for. Map function of rest Api from php cms

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

    Thank you Max. This material is awesome. thank you for providing for free.

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

    Thank you Max.
    Can you show the performance gain we got by using LinkedList over traditional array?
    Is there a way to calculate exact timing?

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

    I found a loop in your video. After 1:27:00 you suggest going through algorithm course first, but in the algorithm course (near the beginning) you suggest doing this course first--- which is what I'm doing right now. ;-) But, I wasn't complaining, it's programmer humor. Thanks, the linked list example was nice.

  • @ursochurrasqueira
    @ursochurrasqueira 4 ปีที่แล้ว

    You made so easy to understand, great video!

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

    Please upload videos every week, we miss those days you kept on uploading videos continually

  • @NeverGiveUp-Move
    @NeverGiveUp-Move 4 ปีที่แล้ว +2

    Great video as always! Thank you!
    I think there will be an error if you will try to use find() method on list with only one element.
    null.value

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

    Thanks for explaining it perfectly. You just eas out the DS

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

    max really thank you , i love your the way you explain any thing , happy to learn from you bro thanks 😀

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

    The delete function in the LinkedList class has an error because after the first while, if all the values in the LinkedList are equal to the value parameter, the head will be equal to null, and the second while will throw an error because it tests head.next.

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

    Hi Max, do you plan to do new courses related to Laravel (PHP Framework), real project or something like this. I have learned a lot from your related courses. You're one of the best instructors I've ever met on the Internet, especially 'Udemy', Pluralsight, and 'TH-cam Chanel'. I respect you very much! :)

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

    Oh man you are awesome, I learned a lot form your tutorials. Thanks

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

    One of the best teachers I've ever had

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

    LinkedList structure could be beneficial for keeping track of history / states. Since you always add thinks to it, if you want to undo / redo, you want to have the first element.

  • @PauloSantos-yu1tn
    @PauloSantos-yu1tn 4 ปีที่แล้ว

    Thanks for this lesson. Very good stuff as always

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

    I'm super excited for this tutorial 👍

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

    Thank you Max, could you please put the link of your algorithm course ?

  • @A1996ARP2075
    @A1996ARP2075 4 ปีที่แล้ว

    Great sir.Best channel for web developers

  • @aadhavan-arunkumar
    @aadhavan-arunkumar 3 ปีที่แล้ว

    Hey Max, the prepend didn't work if I do prepend first and append next. Like below,
    var LL = new LinkedList();
    LL.prepend('first');
    LL.append('next');
    LL.append('Last');

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

    Happy teacher's day Maximilian, you're my real guru 😎

  • @justcurious1349
    @justcurious1349 4 ปีที่แล้ว

    This is just awesome. Thanks a lot for this.

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

    linkedList prepend method - shouldn't you need to check whether if there is any this.head before you insert it to the newNode.next??

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

    Hi Max,
    Can you please share a new video with the introduction of micro front ends?
    Thanks.

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

    i was really waiting for a such video from you.love and support

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

    Regarding LinkedList example, can anyone explain to me how the head keeps on updating even though it was only assigned once?

  • @MrPyogi
    @MrPyogi 4 ปีที่แล้ว

    My favorite teacher Mr.Max Thanks

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

    Wow, Thank you Max.

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

    the append() method is a little bit confusing to understand if you're not familiar with reference/primitive types. thank you Max for your precious effort

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

    I find this great channel for lesson javascript 😂😂🔥🔥🙏

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

    Excuse me for this dumb question, is this code mean that the head contain every list in nested object form?

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

    Thank you max, you're the best

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

    You absolute legend. Thank you for this! :)

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

    Javascript Arrays does have the Unshift() method right? Does this method have O(1) or O(n)? I think the underlying functionality of Unshift() method is as you described: shifting the elements 1 by 1 as is suggested by the name of the method as well. Interested in your comments though.

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

    I was waiting for ds algo course using js by max

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

    Great topic, nice explanations, thanks

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

    Great Course! Please keep doing this :)

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

    Link-list, as always explanation excluding very important coding along (eg. appending i.e.working at the tail, vague basic unit building block explenation etc.)

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

    I've a question is your udemy and academind courses are same please reply

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

    Great course, Thank you

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

    Can someone help me out with this?
    Aren't we storing entire hierarchy in the head here?
    i.e head has {value: 1, next : {
    value: 2, next : {
    value: 3, next : { and so on}
    }
    }
    }
    If yes, isn't that a bad idea for tons of data?

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

    Can linked lists be used as a simple or ‘lite’ form of blockchain if its encrypted and distributed?

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

    Why don't use the terms records or data sets?

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

    can you please make a complete tutorial not only about Data Structures and Algorithms but also design principles (perhaps on Academind and/or Udemy), thank you again Max

  • @premKumar-il1qy
    @premKumar-il1qy 4 ปีที่แล้ว +5

    Thank you for your efforts sir ,I've bought your udemy flutter course it was very helpful, and plz also mention the timestamp in your videos

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

    Amazing explanation !!!

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

    this is great! thanks for sharing Max!

    • @academind
      @academind  4 ปีที่แล้ว

      Glad you liked it!

  • @GauravJoshi-Vlogs
    @GauravJoshi-Vlogs 3 ปีที่แล้ว

    what if we store duplicate object in an set?

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

    Also, i'v tried this code with:
    const linkedList1 = new LinkedList();
    linkedList1.append("second");
    linkedList1.append("third");
    linkedList1.append("delNode");
    linkedList1.prepend("delNode")
    console.log(linkedList1.toArray());
    linkedList1.delete("delNode");
    console.log(linkedList1.toArray());
    and in the first log "third" node losing its next attribute (it is equal to null),
    can you explain why does that happend?

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

    When it will be available on udemy?

  • @xavi_6767
    @xavi_6767 4 ปีที่แล้ว

    Just what i was looking for.

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

    I have bought lots of your courses on Udemy, no regrets :D

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

    I believe that if insertAfter is done on the last node (thus, becoming the new tail), this.tail needs to be updated to point to the newly added node.

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

    Thank you sir, love from Bangladesh

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

    Hi, Max, your course is amazing, but why your course not on Udemy?

  • @sushilkumar-ef7gh
    @sushilkumar-ef7gh 2 ปีที่แล้ว

    This is what I was missing after going through countless tutorials and docs, Still, I couldn't figure out why I can't solve questions on the coding platform and interview (makes me nervous )😅

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

    Huh, the course i have been looking for

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

    I can't find Your DSA course in Udemy? Can you please send me the link?

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

    Wow. This is what I need.

  • @lenicholstech
    @lenicholstech 16 วันที่ผ่านมา

    This was awesome

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

    it's just so weird seeing you outside udemy, anyway thanks for the course Max they really helpful!

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

    worst case complexity for inserting at the end of the array will be O(n) when we have to shift the complete array in case the size of the array increases

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

    thankyou so much man!

  • @gsrcreations108
    @gsrcreations108 4 ปีที่แล้ว

    You are the best... 🎉

  • @antergonza6476
    @antergonza6476 4 ปีที่แล้ว

    Awesome! Thanx!

  • @nickpravda3249
    @nickpravda3249 4 ปีที่แล้ว

    Thank you for you job.

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

    Thank you Sir

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

    fantastic!

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

    what is the perquisites of this course ??

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

    great speech. thx

  • @danieljing9319
    @danieljing9319 4 ปีที่แล้ว

    really helpful.

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

    Thank you ♥️

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

    Heyy!!!!! I watched your udemy course a year or 2 back

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

    which editor I should use to write java script. Which one you are using in this session

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

      He is using VSCode

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

    Thanks Max

  • @Ganeshsharma-rd1kq
    @Ganeshsharma-rd1kq 4 ปีที่แล้ว +1

    Hello sir.
    I have confusion in a code in linked list where in apppend() function we written
    This.tail.next =newnode;
    This.tail=newnode
    Then why second line did not override this.tail value.
    Please assist

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

      to answer your question, that means we are talking "append a newNode to an empty linkedList". (so, these two lines of code will be both executed)
      before we do "this.tail.next = newNode;"
      we will check if that tail exist(= not null = it's a created object(the object already sits in memory))
      and then, we update it's "next" attribute to the reference of current "newNode"
      after running the above code,
      we do "this.tail = newNode;" and update "this.tail" to point to the reference of newNode.
      Because the value of "this.head", "this.tail", "this.next"(even "value" in newNode, if our value is an object) are all objects.
      and in javascript, Object, Function, Array, Set.... are all reference types.
      so, when you declare a new variable and assign any reference types value to it,
      you will only assign it's reference (you can think of a memory address point to actual value in memory).
      Therefore, when we change these values: "this.head", "this.tail", "this.next".. these values,
      we are only updating the reference, not the actual value.
      only if, originally, "this.tail" is assigned with a primitive value(in javascript, primitive data types: string, number, bigint, boolean, undefined, and symbol.)
      and then you reassign a new value to it, now, the override happened.
      I'm not sure if my explanation is answering your question, but hope it helps.

    • @Ganeshsharma-rd1kq
      @Ganeshsharma-rd1kq 3 ปีที่แล้ว +1

      @@orionlu716 that really clear up my doubts. Thanks alot sir

  • @Code-tf2nn
    @Code-tf2nn 2 ปีที่แล้ว

    thank you sir