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
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
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 .
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.
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.
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😊😊😊😊😊😊
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
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.
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!
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
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?
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.)
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.
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
max..max..max...how can i thank you.i am very glad to listen this lecture.And i want to know ,is this course available in udemy and event js algorithems
@@adrian-4767 but it costs very high price here,so on udemy it easy to buy for lowest prices,will you provide any discounts which costs equal to udemy course price or a bit higher?
@@vamshidharreddy3851 I don't work with Max, I can't provide you any coupons for his Academind.com platform, I'm sorry. I also live in a 3rd world country and it's hard to afford the subscription.
Unfortunately, the delete method of the LinkedList skips a delete when the value parameter matches the first item in the LinkedList, but it does get any or all other matches. That's being picky - this is a great series. So much so that I worked through this one, which is the only reason why I found the bug, and have been having fun adding extra methods. I've got your Udemy courses on Angular and Vue so I've voted with my wallet there. Great stuff Max, thanks!
!!!! Many apologies, Max I've made the above comment before you had finished writing the method in the video - I thought that it was completed for some reason. You go on to address all the special cases where the match is on position one. I should have known better.
I've watched it to the end now and a dead solid tutorial it is. I did find one unlikely edge case where an error gets raised if the list only consists of nodes with duplicate values. How or why that would happen I don't have a suggestion but if you 'did' have a LinkedList populated with nodes that all had the same value you would get an error when your delete parameter matched them. It would occur after the loop that deals with matching and deleting the first nodes finishes. Then, when you enter the loop that deals with other cases, at that point, because all of the nodes have the same value, they have all been 'deleted' so: let currNode = this.head; if (currNode.next) {...} raises an error because there is no longer any currNode that can have a currNode.next property. Null reference. the fix is just to replace if (currNode.next) with a null reference check so: if (currNode && currNode.next) and everything else seems to work just fine. Now I know that I really am being super-picky if not downright anal but just in case anyone might copy the class/method and use it, here's noting the case. :)
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.
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 )😅
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
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! :)
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).
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.
Thanks for the video Max, but I think that you are not right about Sets in JS. They are ordered. From MDN: "Set objects are collections of values. You can iterate through the elements of a set in insertion order. A value in the Set may only occur once; it is unique in the Set's collection."
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');
I tried to do a very simple JavaScript application (well... it was soo small and so simple that I don't even know if I could call it that, but anyways) to guide a user that wants to go, in a subway station, from station A to station B. The app would identify in which subway station a person is and how many stations a person should run to go to a different station. Even if the destination subway station is in another line. In a line that may demand the user to switch lines. Do you think this could be solved using binary tree in JavaScript??? Thanks! Love your videos Max! Cheers from Brazil 💚💛
@Academind: Could you please make some intermediate video tuts? Like in a video I saw lastly. There was this one formula: (n / 2) * (n +1). And I thought WOW. I never guessed something like that. I know that's not js but math. But you didn't explained the Knappsack- problem till the end, too. So are there some videos for intermediate js devs? In which you look in detail and explaining an algo completly? Or how to structere your apps? I mean the script files not the folder struct. Why to store a function there and not there and what is the most convenient way to call it. That would be cool.
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
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
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 .
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.
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.
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😊😊😊😊😊😊
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
Thanks max, for this course and its really going to help lot of js dev
you are my favorite tutor in youtube. your teaching are so good .
One of the best teachers I've ever had
This is what I was looking for. Map function of rest Api from php cms
Thanks so so much maxx, i began my career because of you!!!!!!
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.
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!!!
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!
gave you got a job yet?😅
@@nabeelkhan-ck8bq did u!?
I love the way you approached it, please keep continuing, Thanks a lot
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
Thanks for explaining it perfectly. You just eas out the DS
My favorite teacher Mr.Max Thanks
I have just one word for you - GREAT.
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 😊
The way you walk through building the linked list code is so helpful, thanks!
Man, you explain things so well. Its amazing. Love the content
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?
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.)
Awesome ! I just started data structure in javascript & u uploaded this video :)
Thank you Max. This material is awesome. thank you for providing for free.
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
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.
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
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.
Great sir.Best channel for web developers
Please upload videos every week, we miss those days you kept on uploading videos continually
clear, concise, to the point.. Thanks!
Thank you Max. Love your dedication in these troubling times.
Awesome explanation. I was afraid to learn about Data structure, but you made easy to understand. Thankyou Max
Hi, Max, your course is amazing, but why your course not on Udemy?
max..max..max...how can i thank you.i am very glad to listen this lecture.And i want to know ,is this course available in udemy and event js algorithems
Vamshidhar Reddy
Max will not publish courses on Udemy anymore but on his own platform
@@adrian-4767 but it costs very high price here,so on udemy it easy to buy for lowest prices,will you provide any discounts which costs equal to udemy course price or a bit higher?
@@vamshidharreddy3851 I don't work with Max, I can't provide you any coupons for his Academind.com platform, I'm sorry. I also live in a 3rd world country and it's hard to afford the subscription.
Academind.com can you please tell me why you are not posting this course on udemy
🔴
for(i=100;i
Unfortunately, the delete method of the LinkedList skips a delete when the value parameter matches the first item in the LinkedList, but it does get any or all other matches.
That's being picky - this is a great series. So much so that I worked through this one, which is the only reason why I found the bug, and have been having fun adding extra methods.
I've got your Udemy courses on Angular and Vue so I've voted with my wallet there. Great stuff Max, thanks!
!!!! Many apologies, Max I've made the above comment before you had finished writing the method in the video - I thought that it was completed for some reason. You go on to address all the special cases where the match is on position one. I should have known better.
I've watched it to the end now and a dead solid tutorial it is. I did find one unlikely edge case where an error gets raised if the list only consists of nodes with duplicate values.
How or why that would happen I don't have a suggestion but if you 'did' have a LinkedList populated with nodes that all had the same value you would get an error when your delete parameter matched them.
It would occur after the loop that deals with matching and deleting the first nodes finishes. Then, when you enter the loop that deals with other cases, at that point, because all of the nodes have the same value, they have all been 'deleted' so:
let currNode = this.head;
if (currNode.next) {...} raises an error because there is no longer any currNode that can have a currNode.next property. Null reference.
the fix is just to replace
if (currNode.next)
with a null reference check so:
if (currNode && currNode.next)
and everything else seems to work just fine.
Now I know that I really am being super-picky if not downright anal but just in case anyone might copy the class/method and use it, here's noting the case. :)
You absolute legend. Thank you for this! :)
This is smart😎
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.
I was waiting for ds algo course using js by max
Thank you sir, love from Bangladesh
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 )😅
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?
max really thank you , i love your the way you explain any thing , happy to learn from you bro thanks 😀
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
Heyy!!!!! I watched your udemy course a year or 2 back
You made so easy to understand, great video!
I find this great channel for lesson javascript 😂😂🔥🔥🙏
Really really amazing tutorial, thank you so much MAX.
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
linkedList prepend method - shouldn't you need to check whether if there is any this.head before you insert it to the newNode.next??
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! :)
Huh, the course i have been looking for
Thank you max, you're the best
Thank you Max, could you please put the link of your algorithm course ?
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.
I have bought lots of your courses on Udemy, no regrets :D
When it will be available on udemy?
Happy teacher's day Maximilian, you're my real guru 😎
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).
No matter what's your job title in Dev industry, you should always allocate time to whatever Max has to showcase. Always.
?? Lmao
I can't find Your DSA course in Udemy? Can you please send me the link?
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.
Oh man you are awesome, I learned a lot form your tutorials. Thanks
Thanks for the video Max, but I think that you are not right about Sets in JS. They are ordered.
From MDN: "Set objects are collections of values. You can iterate through the elements of a set in insertion order. A value in the Set may only occur once; it is unique in the Set's collection."
I'm super excited for this tutorial 👍
Can linked lists be used as a simple or ‘lite’ form of blockchain if its encrypted and distributed?
Why don't use the terms records or data sets?
Wow, Thank you Max.
I've a question is your udemy and academind courses are same please reply
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');
I tried to do a very simple JavaScript application (well... it was soo small and so simple that I don't even know if I could call it that, but anyways) to guide a user that wants to go, in a subway station, from station A to station B.
The app would identify in which subway station a person is and how many stations a person should run to go to a different station.
Even if the destination subway station is in another line. In a line that may demand the user to switch lines. Do you think this could be solved using binary tree in JavaScript??? Thanks! Love your videos Max! Cheers from Brazil 💚💛
I think you use graph
Hi Max,
Can you please share a new video with the introduction of micro front ends?
Thanks.
Wow. This is what I need.
Well, this goes with your JS Algorithms course...
Data Structures & Algorithms go together like a horse and carriage :)
Way too many commercial interruptions
This is just awesome. Thanks a lot for this.
Thanks Max
which editor I should use to write java script. Which one you are using in this session
He is using VSCode
i was really waiting for a such video from you.love and support
I wish it could be allowable to give you likes more that million at a time .... much thanks
it's just so weird seeing you outside udemy, anyway thanks for the course Max they really helpful!
Thanks for this lesson. Very good stuff as always
you are my teacher 🙏🌷
Just what i was looking for.
Great course, Thank you
this is great! thanks for sharing Max!
Glad you liked it!
@Academind: Could you please make some intermediate video tuts? Like in a video I saw lastly. There was this one formula: (n / 2) * (n +1). And I thought WOW. I never guessed something like that. I know that's not js but math. But you didn't explained the Knappsack- problem till the end, too. So are there some videos for intermediate js devs? In which you look in detail and explaining an algo completly? Or how to structere your apps? I mean the script files not the folder struct. Why to store a function there and not there and what is the most convenient way to call it. That would be cool.
thk u so much. ps: the way Max pronounce value so cute.
Hey Max, do you have any plans on Machine Learning with Javascript?
Santosh Subedi that topic is useless when applying to web developer postings/jobs
Excuse me for this dumb question, is this code mean that the head contain every list in nested object form?
Could you explain further the this.tail.next sir? :D
Great topic, nice explanations, thanks
Amazing explanation !!!
Grt video....if possible can u make videos on some mini projects using vanilla js?
This was awesome
You are the best... 🎉
Thank you sir for this course, you are a true inspiration for all the learners. Love from India ❤️
oe bawe kitni kri tune javascript?? mrko b kra jldi
Thank you Sir