@INTELLECT How many licks does it take to get to the center of a tootsie pop? The world may never know
@shridhar_rao2 жыл бұрын
Thanks!
@msdhaliwal2 жыл бұрын
09:04 sets
@Tidalley2 жыл бұрын
@@msdhaliwal Thanks, added that in
@Ali-Aziz-official10 ай бұрын
I love guys like you. You save me time.
@agussatria71383 жыл бұрын
Everyone has a different level of ability to learn. If you feel you don't have a very smart brain, that's fine. Don't compare yourself to others, even if it's late than others, believe me you can do it. stay consistent
@jeroincababat5653 жыл бұрын
Thank you :)
@melania2393 жыл бұрын
I needed this. thanks :)
@Rdx_rahul043 жыл бұрын
@@jeroincababat565 thankyou 💕
@ponalvsiki22543 жыл бұрын
In fact my IQ quote increases since I started learning to code. In went from 97 to 120 in 6 months.
@xXPIEATERXx2 жыл бұрын
Thx bro you, gave me a little strong motivation for myself. I have a hard time learning things during pandemic.
@jasonhoi855 жыл бұрын
this is very good for someone like me who don’t have computer science degree but end up work for coding
@rinidebnath70373 жыл бұрын
Same
@marcusaureliusregulus28333 жыл бұрын
Hey are you in a job now? I am also following a similar path
@pz51092 жыл бұрын
I'm going through this course and I just can't speak enough of the efforts and quality of these videos. Beau is an amazing instructor!! And thanks again for putting this together.
@hacker31910004 жыл бұрын
33:45: For Binary Search Tree: the isPresent() method can be simplified with the find() method. Just return true if find() gets a match, else return false.
@gardymorisseau84203 жыл бұрын
Watched this back in august felt dumb, then learned another programming language came back and now cant believe how good he was explaining it. Thank you i understand!!!
@EfrainMcshell4 жыл бұрын
This man is so eloquent..... I like his explanations, and peaceful personality I could say humble....
@diegazo55563 жыл бұрын
Oh lord; just 10' of videos and inmediately started writting code, different ideas for getting different things done. Amazing! And the best part is that I was (AM) terrified of learning data structures because "they are so hard for people whose zucks in math" (which I do). Lol, thanks so much, I will continue watching and writting code!
@vardaan_agarwal3 жыл бұрын
Maths!! 🤧🤧
@bnouk27773 жыл бұрын
15:31 difference need to repeat the add part for the other set. A and B difference is not just A not in B as in the code, but also B not in A.
@deyandimitrov13045 жыл бұрын
Thank you! I spent some time over this at codepen and I found it contains some really lovely implementations of the most common data structures into javascript and the code is really neat and self-explanatory, hardly needs any comments.
@jamaalTRW3 ай бұрын
Thanks so much for doing this course. I liked the instructors calm demeanor and voice. Also, the explanations were thorough with code examples. This will help me as I work through the leet code problems.
@veebxl9 ай бұрын
Thanks so much for this course! It's a tad too fast , I had to rewatch it at .75 speed. 😅 But it's super helpful, thank you!!!! 🙌🏻
@whaaaaaaaaaaaaaaaaaaaaaaaaaat6 жыл бұрын
What a perfect timing! I'm going to tackle about this topic. Thanks for the video. Hope more computer science-related stuff is coming from this. 😁
@RahulD6003 жыл бұрын
I didn't really expected to understand this, but now I finally am able to really understand these concepts! Thank you very much!... *One important message to all of the people who are trying to understand or having difficulties in understanding this:* Don't give up, try to clear the basics first, see some videos about Object oriented Programming and practice some functional programming, you'll be able to imagine everything in terms of objects and arrays in javascript, this will help you understand this better! Make sure to watch a few videos and study a few articles before watching this video if you don't understand some of the concepts like BST, LL, etc...Just don't give up!
@jamaalTRW3 ай бұрын
Great message I agree 100%
@oscarenbacka_49094 ай бұрын
I have watched so many videos about DSA, this is the first time everything just makes sence. Thank you!
@varchas-v87774 жыл бұрын
This video is so underrated! This is something every JS developer should watch.
@goyal99684 жыл бұрын
Why every developer should watch? Instead i heard it's bad idea to learn ds and algo in js, go for c++ for ds and algo. Is it true?
@varchas-v87774 жыл бұрын
@@goyal9968 I said every JS developer should watch this because this is one of the best ways to hone the concepts of prototype and class
@geekyprogrammer48314 жыл бұрын
@@varchas-v8777 well said son!
@naveenkamath28824 жыл бұрын
Cany we use vs code to do these programs
@sachinkotian62504 жыл бұрын
@@naveenkamath2882 yea obviously
@IYCActriz6 жыл бұрын
This is exactly what I need to become a better programmer. Thank you so much!!!
@yashrajbasan26896 жыл бұрын
Finally computer science topics are coming.love you freecodecamp
@paulbh49533 жыл бұрын
Thank you so much for this content. Data structures sounded really intimidating, and it was confusing for me to understand how to apply them in Javascript. Thank you!
@KrishnaTandon6 жыл бұрын
Need an in-depth tutorial for Asymptotic Notations with multiple examples. Beau, excellent lecture. Thanks
@spiritual57503 жыл бұрын
I have been facing imposter syndrome due to Data structures and Algorithms. I have been facing this since the last 3 years. Struggled to get job as well because of this. I hope i can overcome this through your videos.
@stevemarquez68653 жыл бұрын
I feel the same way. I interviewed so much and failed. But I am still here. Trying toi get better.
@spiritual57503 жыл бұрын
@@stevemarquez6865 man if you need any help, I am here for you! I know how it feels. It definitely gave me motivation
@seifeddine37353 жыл бұрын
@@spiritual5750 hello , i ma 27 years old and still looking for job could you say somthing that can motivate me please ??
@spiritual57503 жыл бұрын
@@seifeddine3735motivation comes from within yourself. Try watching videos such as perks of working in a company, imagine what you could fulfill all your dreams with getting job, be it travelling or taking a vacation. Think positive, it's all about mindset buddy. It's ok that you are 27, it is never late. Promise yourself that in 6 months you will work hard enough to get a job and do what makes you happy. All the best 🙌🏻
@crystalclear1783 жыл бұрын
Same ..30 yr old ... struggling to get job... people says why don't you earn you are sw engg... but I don't have skills....I'm trying
@spaceenthusiast56964 жыл бұрын
This video is amazing! Dude i guess the god sent you to teach humanity Data Structures & Algorithms of Js.But i have to say that, this video is not for beginners.This video is for the one who has the all basic stuff and know how to code in JS. actually.
@karimkrimou3998 ай бұрын
I'm watching this video the fifth time and every time i understand it in an other angle and i still need to do it again thanks beau
@johnbaker71023 жыл бұрын
39:34 Great stuff, but you are WRONG on the height of a tree. Using the min/max height method gives you wrong results on certain trees. The height of a node is considered the max-height of that node, and so for a tree to be balanced each nodes' left and right substree cannot have a height (max height) difference of more than 1. For example, insert this in a tree in order (50, 40, 30, 45, 48, 100, 90, 120, 80, 95, 110, 130, 60) in this case the tree is actually balanced, but your min/max method will say its NOT. because the min height is 2 and max height is 4, which is WRONG. I hope people see this.
@tomisinergy49634 жыл бұрын
I recognize your voice immediately from the boot camp now I see you for the first time. By the way, you are one of the best teachers in the world
@Jonesybabie6 жыл бұрын
I am absolutely ecstatic about this presentation. This is what I've been looking for! 😍😍😍 Thank you!
@DininduWanniarachchi5 жыл бұрын
Love this lesson! Please guys please make a Compiler Design/Interpreter/Language Design video series I'm very exciting on it!
@sleeplessdev72045 жыл бұрын
Just what I was looking for! An explanation of data structures and algorithms that doesn't treat me like a novice programmer, but also doesn't confuse the topic by going deep into number theory. This was juuuusstt right!
@aramistanboulian62128 ай бұрын
Im in a phase where i got my internship extended cause my area in dsa is weak, so ill be taking this course to improve my dsa skills, wish me luck guys🙏🏻
@silverslyer3 жыл бұрын
Thanks!
@JSDev7763 жыл бұрын
please dont use arrays for queues, the shift and unshift operations take O(n) extra time unlike stack's push and pop, just use a basic linked list, the time complexity will reduce, the only benefit arrays provides is O(1) access but you don't need that incase of stack or queues.
@andrewjensen724 Жыл бұрын
These lessons are great! Though while going over these explanations of what each data structure is and how to code one from scratch, I'm wondering: what is the real takeaway from these explanations? Is it more valuable to know how, for example, to code a Set from scratch or is it better to just be familiar with the data structure and its methods? My guess is that most job interview questions involve a problem whose solution requires the use of one data structure vs another. Do interviewers ever ask candidates to actually build one themselves?
@AnnaCuriousa6 жыл бұрын
That is a precious lesson! Thank you so much for it!
@cipherCrafters146 жыл бұрын
Anna Bushma can u give me your phone number I want to friend ship with u
@nromancarcamo5 жыл бұрын
@@cipherCrafters14 Get a life dude!
@MuhammadFaisal-nv9iu5 жыл бұрын
@@nromancarcamo An Indian can't get a life.
@iamparitosh3 жыл бұрын
Didn't know a word of JS before the video and now I feel like the master of JS already!!!
@ctkqiang5 жыл бұрын
Finally !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! As A Javascript dev. I am so happy to see this finally....
@geebsayshi4 жыл бұрын
This confirmed my worst fear: I'm dumb EDIT: watching this again after 3 months of studying I feel less dumb 😂
@Rodrigo-ux6mr4 жыл бұрын
haahahahahaha
@julietgeorge48584 жыл бұрын
lmaooo , I told myself that acceptance is the first step ...
@tannerbarcelos68804 жыл бұрын
Take the punches my friend. You will find many of these things are easy when applied and many are not. I am graduating comp sci next semester and am relearning DS/Algos in JS for full stack roles and SWE in general so i feel dumb too haha. But everyone is a human and it takes work. You got this!
@geebsayshi4 жыл бұрын
@@tannerbarcelos6880 wow! Thank you for the nice words
@davidhahn73914 жыл бұрын
first time around you won't get it maybe 2nd or 3rd lol
@IcarianX5 жыл бұрын
This is a fantastic video. Excellent examples, nice, clear, easy to understand code, and good explanations. Superb job, well done and thank you!
@tenzinwoeser6842 Жыл бұрын
Man this got me thinking. But loving it!!!! I guess that's the beauty of programming.
@PeteStMartin5 жыл бұрын
Thanks! A lot to digest here, but exactly what I was looking for.
@EduardoLeviBC4 жыл бұрын
if this stuff is for beginners, imagine the Jedi stuff
@mickeytete90363 жыл бұрын
This is the Jedi stuff. You just have to master it.
@JSDev7763 жыл бұрын
it really is for beginner, most of what he showed is not optimized at all. btw even the most jedi stuff is basically the same sets of operation. everything is simple if taken in small bitable chunks. then you build up just like DP :)
@JXSHVAEXE3 жыл бұрын
I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times. - Bruce Lee
@sheneverwas4 жыл бұрын
Thanks so much for an easy to understand video! With visuals AND code. 👏🏼
@AnishSana4 жыл бұрын
EDIT - The bug seems to be in the code sample link provided. The 'else' condition in the remove functions is returning nothing (undefined) instead of node. The BST section seems buggy. The remove function of the BST does not work. When you try to remove some of the elements, it wipes out the entire tree. Ex: const bst = new BST(); bst.add(9); bst.add(4); bst.add(17); bst.add(3); bst.add(6); bst.add(22); bst.add(5); bst.add(7); bst.add(20); bst.remove(17); console.log(bst); Output: BST { root: undefined }
@ahmadabdolsaheb6 жыл бұрын
Great job, Beau.
@shabeebck30574 жыл бұрын
This is the one and only video to become the programmer 👌👍👍
@adrianfletcher89636 жыл бұрын
I love that you all constantly upload videos to your channel.
@PlayBetterJazz6 жыл бұрын
amazing video! wish I found this while attending the boot camp I went to
@saipavaninagisetti52863 жыл бұрын
This was such an awesome video! Thank you so much for such a clear explanation and implementation of DS in JS.
@JaisAbhay2 жыл бұрын
What a quality video which i was looking for. Many thanks
@Oveia16 жыл бұрын
Thanks man! That's I really need these days. Great job!
@AndrewTSq4 жыл бұрын
This man is a legend. Thanks for your brilliant tutorials.
@gauravmall37432 жыл бұрын
Great lesson Mo, A minor correction In BST example though (video at 36:56).... Since BST is always sorted, node "23" can never have a right linking to a lesser value (in this case "19"). In this scenario value "19" should not be there at all. Also, removal of node in BST can be revisited. The replaced value should be the max of the subtree (so 23 can be safely treated as a new node to be replaced in left subtree for your scenario) . Happy Coding!
@grandpaK4202 жыл бұрын
is this course still good even after 4 years?
@gauravmall37432 жыл бұрын
concepts are evergreen :-D
@tw044 жыл бұрын
This is just what I was looking for! Thanks a lot!!
@KatherineMartin5026 жыл бұрын
This video is dope. Great teaching tool
@abdiali85794 жыл бұрын
Thank you Beau, you are Awesome!
@spacecats36495 жыл бұрын
Awesome! Onsite interview with JS DS. This helps me study for it :)
@blankLines2 жыл бұрын
Excellent! This is just the coding video i needed right now :)
@romanpelikh18625 жыл бұрын
Thank you for your time and excellent explanation.
@sio54205 жыл бұрын
Thanks! Was really clear explained! Thumbs up.
@AmericanDragon1342 жыл бұрын
Beau you are the best
@sharlokholmoz42836 жыл бұрын
that is so important. I was looking for it
@kearfy5 жыл бұрын
The second one would be "racecar".split(""). reverse().join("") => "racecar"
@boogiman144 жыл бұрын
Micha de Vries whats the time complexity on that?
@spacecats36495 жыл бұрын
Am done with my CS degree and pretty burnt out. Now I'm getting ready for technical interviews!
@romanmueller34795 жыл бұрын
How you prepare for interviews?
@KaisanFacts2 жыл бұрын
Please add 0:00 in front of it then it will appiar on the video timing roadmap
@hugon43 жыл бұрын
that was fun af never imagine I could understand that
@NB-ph6cv3 жыл бұрын
in minute 48:03 the line 143 if left > right , return left +1 , else return right +1, (should be?) if left > right , return right +1 , else return left +1, because the same syntax is used for left < right ?
@emilywong46014 жыл бұрын
I learned data structures in C,C++ , Java and machine language years ago. And database design with sql server and access with visual basic.
@emilywong46014 жыл бұрын
Push and pop are machine language keywords.
@emilywong46014 жыл бұрын
Hash tables???
@nocturnal-chou2 жыл бұрын
@36:39 Why do we need to go node.right? And then node.left? Can anyone provide an explanation?
@artihlec5 жыл бұрын
As a bonus task - I encourage everyone to implement set DS using regular objects (rather than array) in order to drastically improve performance.
@lalaithan6 жыл бұрын
Spectacular explanations. These kinds of videos are the reason why I wish KZbin had some sort of go-back-30-second button.
@freecodecamp6 жыл бұрын
Just press the left arrow key to go back 10 seconds at a time.
@lalaithan6 жыл бұрын
@@freecodecamp Thank you for that tip! 30 seconds would be better though.
@nil23076 жыл бұрын
The Set implementation is not correct, you are using indexOf(), which has a time complexity of O(n). The real implementation of Set.add() uses hash tables, which takes O(1). Deletion in the queue should take O(1), but your implementation takes O(n)
@nelsonjimenez79395 жыл бұрын
I dont understand You are very smart. Im a newbie
@lgiorgos15 жыл бұрын
Sets don't have to use necessarily hash tables. They can, but they don't have to.
@nandhannatarajan21275 жыл бұрын
@@lgiorgos1 I mean lets be honest sets should use hash tables. The only reason sets are used is to search for values in O(1). If Sets were O(n), there would be no point in using set over array.
@sunnilabeouf4 жыл бұрын
@@nandhannatarajan2127 Sets are also used because they contain unique values, as opposed to filtering out duplicates in arrays. But yeah, they should utilize hash tables, most other programming languages call them HashSet
@bryanstrader17404 жыл бұрын
Just came across this and had a question, add and delete are O(1) when using hash tables, but when implemented using hash tables is the constructor always going to be O(n) when initially setting up the table of keys/values? That might just be a trade off, unless I am missing something.
@rinordreshaj19624 жыл бұрын
in 46:52 did you mean == instead of more than or equal too, since it's a balanced tree and you are already subtracting 1 from the max height, so the difference should be ( minHeight == maxHeight -1 ) to be balanced.
@ankitsharan154 жыл бұрын
+1
@mickmoon68876 жыл бұрын
Good video thoroughly explained bit envious wish I had this video released bit earlier
@laerciogoncalves13616 жыл бұрын
That's gold!Thank you, Beau!
@moni123582 жыл бұрын
this is a great video! I really needed this. Typing the code out as you explain it can be helpful for retention and slowing down when you do write the code. Similar to your python and SQL videos.
@mohitkale68795 жыл бұрын
Awesome tutorials with awesome examples.
@mateja1765 жыл бұрын
Outstanding lesson 👏 would've been nice to see an AVL tree in action. By the way, declaring helper functions outside of methods may increase readability, additionally relying on hoisting can be confusing.
@thirstypooch6 жыл бұрын
you made my day !
@nocopyrightgameplaystockvi2312 жыл бұрын
Learning this in my job, thank you!
@SumitRai874 жыл бұрын
Nice informational video, but I couldn't help but notice that a lot of places could benefit from using a Map or an object instead of an array like HashTable implementation which needs to be O(1) for lookup. A lot of implementations could be optimized for better time complexity.
@vaishnaves1954 жыл бұрын
Hi Beau ! Thank you so much for this series. I found it really helpful. 1. Regarding the removeNode in the Binary Search Tree, wouldn't we have to check if the data that is passed to be removed is present in the tree or not? Could we do this by adding an isPresent inside the remove method? 2. If I would have to implement a display tree method, how could I do that, complete with the tab separation so that it looks exactly like a tree?
@your_utube4 жыл бұрын
Creating apps to play with these things in Js will be more interesting as I find ways to use it and train my mind to think in terms of the algorithms. Some I've used in other language environments, but not all. What would be a nice follow up would be sample apps to help benchmark or compare using inefficient ways to these methods/algorithms when applied to some sample data sets.
@myuniverse-f8r3 жыл бұрын
awesome video!!! thanks a million
@colorizemysky5 жыл бұрын
1:40:17, lines 50-51. Why do we again calculate 'right' and 'left'? They should to change automatically after 'i' changes a value, aren't they?
@indraxios2 жыл бұрын
Beginners Alert!!!!! This is for people who already knows data structures and want to practice them in javascript once
@spyfromsparta2 жыл бұрын
This is beginner level to Data Structures and Algorithms but need a prior knowledge of Javascript.
@a.v.sanchez91933 жыл бұрын
Pretty sure the ES6 implementation of the "has" method on a set has constant time complexity, i.e. O(1). The above implementation of the "has" method uses "indexOf" array method, which has O(n). Am I wrong? Pretty important difference, if I am right.
@stelloprint65333 жыл бұрын
that's a good point, so it would be better to create a new class off of the ES6 Set such as: class mySet extends Set {...}, then add the union, intersection & difference methods as described on MDN docs developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
@Michael-kp4bd3 жыл бұрын
@@stelloprint6533 i like this idea. This tutorial relied a lot on arrays and array methods for these custom data structures, where in doing so unnecessary uses O(n) methods when there are more optimal solutions… especially if you’re making custom data structures anyway..
@sshyam29033 жыл бұрын
at min 38:25, what if the child were 0 instead of 4? Wouldn't it be violating the rules of the BST, since the node containing 0 would have left child greater than 0 (1)
@bruhmoment37312 жыл бұрын
Not sure if you made a mistake at 22:57 I think elements with priority 5 should come AFTER elements with priority 4, right?
@Theladspodcast232 жыл бұрын
can u please explain to me if the class Node and class BTS link together in binary search tree.what confuses me is node.data(does this refer to this.data in class Node)
@ipapoutsidis6 жыл бұрын
Nice video my friend, one observation you can use an object literal to do this all.....:)
@michaelnimmer2225 жыл бұрын
great video, very clear explanations
@niittu_yogshala2 жыл бұрын
For stack, in pop function splice must use instead delete function. Please correct me if I am wrong @Beau
@renatolins98126 жыл бұрын
I hope some day Javascript will become the absolute and more loved language for anything. Nice lessons!
@Colstonewall6 жыл бұрын
If Javascript wasn't used on the web, virtually no one would use it, lol. There would be no reason, because as a programming language it is subpar. When you have or see books, videos, talks about "Javascript and the weird parts" or Javascript and the bad parts" that should tell you something right there.
@Ali-lm7uw6 жыл бұрын
@@Colstonewall I agree, JavaScript is a bit of pain in the ass. It takes a long time to learn. Other languages are pretty simple compared to JS.
@craylawj34104 жыл бұрын
Nice explanation bro , the best video among those ihv watched so for but sad enough I can only subscribe one times , I would subscribe as many as possible , much thanks .
@geekyprogrammer48315 жыл бұрын
This is better than Udemy courses!
@jhuluan-jyun25945 жыл бұрын
you are such a great teacher!
@moofymoo3 жыл бұрын
Looks like algorithms part is missing. This is about implementing data structures in javascript and writing test code to see that data structure does what it does, but not about solving algorithmic problem by picking right data structure(s).
@Xilent13 жыл бұрын
Where did you find a video hat does the latter?
@IndraKurniawan5 жыл бұрын
Thanks goodness, I had data structures and algorithm classes before JavaScript was a thing.
@lasseh794 жыл бұрын
15:42 The difference-method should loop the otherset also right? You are missing the unique values in the otherset or am i missing something here?
@droidJV4 жыл бұрын
I was wondering the same and looking around it seems the difference between two sets A and B is indeed defined as simply A-B. There is another term which describes (A-B)+(B-A) and it is "symmetric difference".
@PlatinumBuckGorilla3 жыл бұрын
I’d prefer to chop the tree up into a collection and apply the manipulation there. But.... it is not always the case. Understanding this is equally important
@LEK-05255 жыл бұрын
It was extremely hard to code Java... I have never learned about coding thing before taking this class... But I must overcome to follow the era of the forth industrial revolution lolol
@NB-ph6cv3 жыл бұрын
in 1:31:11 min 5/2 is 2.5 and round for it is 3 :D