I absolutely LOVE how you started off by showing the common operations and their time analysis for Arrays and Linked lists before introducing BST. Sometimes you just know these things but not exactly WHY the need for them in the first place. Thanks.
*My takeaways:* 1. Computation complexity comparison of searching/inserting/removing elements in Array (sorted, unsorted), linked list and binary search tree (balanced) 0:00 - 9:28 2. What is balanced binary search tree and why it is efficient for searching 9:30 3. Unbalanced binary search tree 16:22 3. Insert and remove elements in balanced binary search tree is also efficient 17:44
Ahmed Hadi unfortunately I am. Sometime in 2014 already. There is a Quora answer about this written by the cofounder of this channel. Google humblefool.
After looking at many videos online of many different youtubers. This is the best one. The way he introduced arrays and linked list first and the issues with them and how can we fix your issues is exactly what everyone needs to know
Dear brother, your lectures have indeed helped me a lot for my university studies. Thank you so much for putting up this selfless effort. May God reward you with goodness.
I am emotional after hearing about this guy's story he is Harsha Suryanarayanan from IIIT-A, he was the highest rated geek in Topcoder in India he mentored his juniors but unfortunately he died while crossing a road, I am happy that he is still mentoring lot of us. #TributeToHarsha
@@r.m.harish5529 why do I want to spread false information, am I getting any awards for it, before arguing check news yourstory.com/2014/06/techie-tuesdays-humblefool?
@@aaradhanah5059 bro the person who actively controlled this channel was the co founder animesh. He is alive and well. Harsha does not make the videos, animesh does.
@@r.m.harish5529 This channel is not active, it is a teamwork between harsha and animesh, If he is alive this channel might me active, also I wish animesh to teach us, I just made a comment to appreciate harsha's dedication reply before researching about it
@@aaradhanah5059 atleast now you accept that it's a teamwork. I only corrected you earlier because you made it seem like it was an effort only by Harsha. Other people may not know about animesh, who made these videos. I hope you understand and take it in the right sense sorry if I hurt you by saying u spread false info
your videos are really helpful , moreover they convey all the info with so much of ease of understanding , and so efficiently , love your work , its great .and thanks from my side and as well as from the whole freshers in my college cause about more than 90% watch these for sure .
This is super great. Your explanations are concise and understandable and the graphics really help. Thanks for making these :) I will definitely be watching more of these data structure lessons!
when you talk about time complexity ,why to use trees i stooped the video and liked it and do this comment for thanking you for this level of explanation
Its a basic thing you have to know if youre studying for an algorithms/data-structures exam, so its not really surprising he covered it. Like almost any operation you learn in CS, one of the first questions are always "What is the avg. time complexity ? what is the optimistic/pessimistic time complexity ? What is the space complexity ?" And those are really important questions, its awesome you recognised the significance of that, means you have proper intuition : )
At 7.22 min u mentioned about inserting element into sorted array by performing 2 steps: 1)- find the position in array (use Binary Search -O(logn)) and 2)- shift all records (O(n)). How overall complexity time is O(n), since we have the sum of O(n)+O(logn)?
There appears to be a mistake @ 17:30 , that is not a binary search tree at all, the 17 is in the left child of 15, it should be in the right child I believe.
Great explanation. Could you please enable the fan funding option so we can donate to this channel. We need more content like this. We know humblefool, not with us. We need more from this channel.
Just wanted to clarify, the tree presented at 17:28 is not meant to be a binary search tree, correct? If so, shouldn't 17 appear as the right child of 15?
+raj nandwani Not a binary search tree if unfixed. Binary search tree is only that if the left is smaller than the root and the right is greater than the root.
We can make a tail pointer which points to the end node of the linked list and add the newly created node to the end of the list with traversing from the head or the beginning and it will cost O(1).
+Ahmed Kh'aled You need to traverse as you need to know where to insert the element For eg., if LL: 1;2;5;7;8;9 and you want to insert 6, we cannot just make a pointer and insert at the rear end. We have to traverse from left to right LL: 6;1;2;5;7;8;9 [wrong] LL: 1;6;2;5;7;8;9 [wrong] LL: 1;2;6;5;7;8;9 [wrong] LL: 1;2;5;6;7;8;9 [correct]
I must had said without back then. When I create a new node it updates a pointer called "tail" for instance. So whenever I want to add a node to the end of list I just get the address from "tail" and point it the one I want to create and which will be the new "tail", got it?
I'm a bit late to the argument, but I agree with you. If you know the iterator already, then it is O(1). Else, you will have to find the iterator in which case it would be O(n).
This is also adding on to the argument. It is from cplusplus.com "Unlike other standard sequence containers, list and forward_list objects are specifically designed to be efficient inserting and removing elements in any position, even in the middle of the sequence."
As much as i've read so far, a BST cannot contain duplicate values. But at 11:25, you said that the left child can contain a value 'less than or equal to' the value of the parent node. Can someone please clear this confusion. Thanks!
Hi. I am one of your subscriber, been following you for a couple of months. Can i possibly use this as a reference in our class, seems like you do have a very clear way of explaining. Thankyouuu.
Thank you for the incredibly useful videos. Currently I also intend to share their knowledge, I'm disturbed that you did not know the building of images in a video using algorithms tool ?. Looking forward to hearing from you guys soon, thanks
at 15:30, talking about unbalanced tree, should it be the depth and not the height. "A tree is balanced when, for all nodes the difference between heights of left and right subtree is not greater than 1"?? should it be depth instead of heights?
Great video! But I think there is a inconsistency. Insertion in an array have complexity of worst case O(n) while in linked list it is improved to O(1). Consider inserting an element at the start of array, then you have to shift almost all the array by one element, while in linked list you only modify the links of two elements.
In the unsorted case, insertion into an array just tacks the new item onto the end of the array, so (assuming the allocated space is larger than the number of defined array elements), this is of order O(1). For a one-directional unsorted linked list insertion at the head of the list is also O(1).
I absolutely LOVE how you started off by showing the common operations and their time analysis for Arrays and Linked lists before introducing BST. Sometimes you just know these things but not exactly WHY the need for them in the first place. Thanks.
totally agree with you
yours is perhaps the only lectures series that doesn't confuse students with unnecessary things,it is really great,thank you very much
Honestly this was one of the best, if not *the* best algorithm exploration I've ever seen. Congratulations to the author(s)!
One of the authors died in a hit and run case, back in 2014. It’s really a great loss. The other one is working for google in Silicon Valley.
if you have exam this morning skip and start at 9:53
And play the video in 2x
@@saitaruns 🌝😅
@Ammie Zolman wow! a shady comment posted minutes after, i’m gonna believe this :D
@@tasty0rang3 lol
thanks dude
*My takeaways:*
1. Computation complexity comparison of searching/inserting/removing elements in Array (sorted, unsorted), linked list and binary search tree (balanced) 0:00 - 9:28
2. What is balanced binary search tree and why it is efficient for searching 9:30
3. Unbalanced binary search tree 16:22
3. Insert and remove elements in balanced binary search tree is also efficient 17:44
You are the best teacher in this planet .....
He was. R.I.P.
Hes dead? Didnt he upload a video 5 months ago?
are you serious ?
Ahmed Hadi unfortunately I am. Sometime in 2014 already. There is a Quora answer about this written by the cofounder of this channel. Google humblefool.
@@zahirjacobs716 nop brother he is alive
After looking at many videos online of many different youtubers. This is the best one. The way he introduced arrays and linked list first and the issues with them and how can we fix your issues is exactly what everyone needs to know
Very crisp and clear, it was 16 years since i graduated and never brushed up on this topic. Excellent !
Hands down the best and most clear cut example on binary search tree so far. Thank you.
You sir are an incredible teacher. Your delivery and pace is so easy to understand. Thank you for the great content.
He won't hear you. He passed away in an accident, a year after these lessons came out.🙁
I left my college lectures to study this video, wonderful and easy explain!
Dear brother, your lectures have indeed helped me a lot for my university studies.
Thank you so much for putting up this selfless effort.
May God reward you with goodness.
One of the best explanations I've seen on any subject, I understand this perfectly now. Thank you!
Excellent explanation. I wish my university classes were this concise and well-explained.
I literally loved the way you turn things and make it go concrete in our head..! You are surely a life saviour 🙏
One of the best videos I've seen regarding data structures. Thanks for sharing the knowledge.
This is a really concise and clear explanation of a BST. Thank you!
You are a great teacher and confident teacher with profound knowledge
You give an excellent lecture. Please don't change a thing.
Man! the teaching level is just amazing. Respect for the knowledge and research behind this level of content-creation. Thanks with all my heart ❤️.
He was a pioneer of DS teaching in India but passed away at age 30. ☹
You all lectures are very simple and understandable...thanks a lot..keep working like that..
I am emotional after hearing about this guy's story he is Harsha Suryanarayanan from IIIT-A, he was the highest rated geek in Topcoder in India he mentored his juniors but unfortunately he died while crossing a road, I am happy that he is still mentoring lot of us. #TributeToHarsha
Don't spread false information that was his friend. He is still alive.
@@r.m.harish5529 why do I want to spread false information, am I getting any awards for it, before arguing check news yourstory.com/2014/06/techie-tuesdays-humblefool?
@@aaradhanah5059 bro the person who actively controlled this channel was the co founder animesh. He is alive and well. Harsha does not make the videos, animesh does.
@@r.m.harish5529 This channel is not active, it is a teamwork between harsha and animesh, If he is alive this channel might me active, also I wish animesh to teach us, I just made a comment to appreciate harsha's dedication reply before researching about it
@@aaradhanah5059 atleast now you accept that it's a teamwork. I only corrected you earlier because you made it seem like it was an effort only by Harsha. Other people may not know about animesh, who made these videos. I hope you understand and take it in the right sense sorry if I hurt you by saying u spread false info
your videos are really helpful , moreover they convey all the info with so much of ease of understanding , and so efficiently , love your work , its great .and thanks from my side and as well as from the whole freshers in my college cause about more than 90% watch these for sure .
Better explanation than my university lecturer. Thank you!
You have done something very good.
We are getting good knowledge because of you.
Thank you.
I just checked out your videos on BST and I must say, Thank you very much.
That was amazing....I mean now I know the basic functionality of BST.
This is super great. Your explanations are concise and understandable and the graphics really help. Thanks for making these :) I will definitely be watching more of these data structure lessons!
simply the best. I'd say your method of explanation is great.
Thank you, I just need popcorn to watch the rest of your videos!
Video starts at 9:38. You're welcome
Makaveli
You r a hero
Hahahahhahaha
I learned a lot about arrays lol
Tq
I was going to leave the video hahaha thx
Great lecture sir, these 20 mins are worthy. Thank you sir.
Do some more computer science stuff. You are articulate and easy to understand. I like it when you repeat to re-enforce the concepts. Well done.
Well,, been taught this in an online class and grasped nothing but here, still online am getting it all🤗🤗Thankyou
I PAUSED THE VEDIO TO GIVE A LIKE AND SUB , NICE EXPLANATION ! KEEP IT UP
Very good, thank you! For showing the necessity of learning this first.
Best explanation I have ever seen for a data structures' concept!
It's very helpful, Thank you for your explanation
when you talk about time complexity ,why to use trees i stooped the video and liked it and do this comment for thanking you for this level of explanation
Its a basic thing you have to know if youre studying for an algorithms/data-structures exam, so its not really surprising he covered it.
Like almost any operation you learn in CS, one of the first questions are always "What is the avg. time complexity ? what is the optimistic/pessimistic time complexity ? What is the space complexity ?"
And those are really important questions, its awesome you recognised the significance of that, means you have proper intuition : )
Simple and clear, helps a lot, thank you very much.
Hey man it's been 5 years. How far have you come?
Hey man I know you'll never see this but I appreciate you
There need to be a compiled list of UA-cam courses. best ones like this make the list. THERE are too many.
You just explained in 19min what my professor took 3 hours and 45 slides to do.
thank you so much! I appreciate you starting with the problem, made the rest of the video easier to understand :)
Best tutorial for data structures ever had Subscribed:)
At 7.22 min u mentioned about inserting element into sorted array by performing 2 steps: 1)- find the position in array (use Binary Search -O(logn)) and 2)- shift all records (O(n)). How overall complexity time is O(n), since we have the sum of O(n)+O(logn)?
rest in peace. and thank you very very much
Rest in peace????
What??
@@AbinayaThiyagarajan777 Yes bro @humblefool is no more, but he will always be remembered.
@@gauravnegi7871 Oh Gosh!!!! 😱 Thats Shocking. Rip
This is not that guy, this is his partner.
I like your way of teaching....My teachers also study your lectures before coming to class :D
You're an amazing teacher, thank you
Better explanation than my university lecturer could manage.
please upload more data structures videos ! its really helpful !
Thank you so much, this is so incredibly helpful! I really appreciate it!!
Best explanations of data structure. Loved it!!
Great !! very easy to follow and understand. Thank you very much !
@mycodeschool really good lec. Were really helpful for viva. Kudos to you!!!
RIP the best DSA teacher internet had ever seen.
you explain it wonderfully.. subscribed ;)
why dont u go to ur country and study
what a reply man
There appears to be a mistake @ 17:30 , that is not a binary search tree at all, the 17 is in the left child of 15, it should be in the right child I believe.
Just so others know it looks like he fixed the video accordingly. Nice catch Kevin.
@@brooklyna007 nope it's incorrect
I think no, if you closely take a look 17 is in the right child of 15 and left child of 20. I think so.
There's so much of clarity....you really eel so enlightened :)
Great explanation. Could you please enable the fan funding option so we can donate to this channel. We need more content like this. We know humblefool, not with us. We need more from this channel.
Excellent explanation and its really good videos
Thanks for making this.. cleared some concepts :)
Nicely Explained in a very excellent way...Thanks Sir
BEST EXPLANATION EVER!
Thank u for explain that concept sir.
Just wanted to clarify, the tree presented at 17:28 is not meant to be a binary search tree, correct? If so, shouldn't 17 appear as the right child of 15?
capolo2 That's an error :( .. Thanks for noticing. I am putting an annotation marking it.
I think its still a binary search tree but not balanced. Correct me if i m wrong.
+raj nandwani Not a binary search tree if unfixed. Binary search tree is only that if the left is smaller than the root and the right is greater than the root.
raj nandwani
Hi
Mam
Petition to restart @mycodeschool !!!
U r awesome....I don't know how to thank to you...but literally ur explanation is too good
Thanks...You really are a great Teacher
We can make a tail pointer which points to the end node of the linked list and add the newly created node to the end of the list with traversing from the head or the beginning and it will cost O(1).
+Ahmed Kh'aled
You need to traverse as you need to know where to insert the element
For eg., if LL: 1;2;5;7;8;9
and you want to insert 6, we cannot just make a pointer and insert at the rear end. We have to traverse from left to right
LL: 6;1;2;5;7;8;9 [wrong]
LL: 1;6;2;5;7;8;9 [wrong]
LL: 1;2;6;5;7;8;9 [wrong]
LL: 1;2;5;6;7;8;9 [correct]
I must had said without back then.
When I create a new node it updates a pointer called "tail" for instance.
So whenever I want to add a node to the end of list I just get the address from "tail" and point it the one I want to create and which will be the new "tail", got it?
و انا هيك بعمل .. اسهل و اسرع 👍
I'm a bit late to the argument, but I agree with you. If you know the iterator already, then it is O(1). Else, you will have to find the iterator in which case it would be O(n).
This is also adding on to the argument. It is from cplusplus.com "Unlike other standard sequence containers, list and forward_list objects are specifically designed to be efficient inserting and removing elements in any position, even in the middle of the sequence."
Thank you, you have great teaching skills
Great bro Helped a lot for my exams
As much as i've read so far, a BST cannot contain duplicate values. But at 11:25, you said that the left child can contain a value 'less than or equal to' the value of the parent node. Can someone please clear this confusion. Thanks!
Thanks for having a better English than others
Brother kaafi badiya sanjaya hai aapne
Your English is very good.grate job.
Came for the Tutorial.. stayed for the Tutor 🤍👍🏻
You are an amazing teacher thank you
Excellent lecture, thanks for posting!
Arey I finally realised that you were trying to say ARRAY instead of arey lol. But really clear explanation. Thanks!
Thats an amazing lecture, thank you for the content.
excellent explanation and example, will follow for more!
Hi. I am one of your subscriber, been following you for a couple of months. Can i possibly use this as a reference in our class, seems like you do have a very clear way of explaining. Thankyouuu.
yea you could keep his legacy alive .
Thank you for the incredibly useful videos. Currently I also intend to share their knowledge, I'm disturbed that you did not know the building of images in a video using algorithms tool ?. Looking forward to hearing from you guys soon, thanks
sorry, they don't do videos anymore
AMAZING explanation. Thanks
Very helpful...thanku so much sir...great explanation😘
at 15:30, talking about unbalanced tree, should it be the depth and not the height. "A tree is balanced when, for all nodes the difference between heights of left and right subtree is not greater than 1"?? should it be depth instead of heights?
please provide the video for learning hashtables, maps, heaps plzzzz......you are the best!!!
Thank you very much for this. This is excellent!
Grate communication skill .all videos explain clearly thank you!!!!!!
Very good video, very calming voice gj buddy
Thank you so much! What a great video!
just loved it , very nice video.
i hope the implementation part comes soon .
Great video! But I think there is a inconsistency. Insertion in an array have complexity of worst case O(n) while in linked list it is improved to O(1). Consider inserting an element at the start of array, then you have to shift almost all the array by one element, while in linked list you only modify the links of two elements.
In the unsorted case, insertion into an array just tacks the new item onto the end of the array, so (assuming the allocated space is larger than the number of defined array elements), this is of order O(1). For a one-directional unsorted linked list insertion at the head of the list is also O(1).
way to speaking is superb dude...
Your videos are great, thank you so much
Godfather of DSA 🔥
Thank you for being awesome!
Great explanation! Thank you!
excellent explanation it's awesome...
Amazingly clear, thanks.
Nice explanation. .👍👍