On the pop is important that you substitute the top element by the rightmost element on the heap, that way you maintain the balance property of the heap, after that you heapify down. The way it was presented may cause confusion, beacause if you just remove the element on the top and do the rearranjement, the heap may become unbalanced
Thank you for your explanation. I love how you explain the theory, but I expected more about the coding section. I hope something from scratch to understand the theory. Anw, thank you so much
The pop heap described h err e is incorrect, as it does not maintain the heap property which has the has the leaf nodes filled from left, so it messes up the array structure essentially, please pay attention to the details and correct it if it causes confusions.
What would happen if that -10 was a leaf node when you were heapifying the min heap? The leaf nodes were ignored but presumably in that case that -10 would need to get to the top?
I feel so bad about watching this great DSA lesson for free so even though I have access to Wi-Fi, I use my mobile data instead. (This won't help you in any way either haha TT) My daily DSA teacher Greg ^_^b
Hey greg, wouldn't the Heapify function be O(n.log(n)), since for every node in the tree of N nodes, you need to perform "Sift down" which itself is O(log(n))?
23:45 You said the heap is set according to the smallest frequency. So why is (3,4) placed after (4,5) in the heap array? PS: Started watching this course recently, loving it so far!
you are correct there is mistake just taking the position to correct spot is O(long) and for this to all n will extend the overall complexity to O(nlogn)
15:36 I thought heap pop have time complexity of 0(1)? Since you are just popping the minimum or the maximum (depends on what type of heap you have) at the top.
Master Data Structures & Algorithms For FREE at AlgoMap.io!
Best video on heaps on youtube fr fr
wow! This channel is so underrated. Thankyou!!
On the pop is important that you substitute the top element by the rightmost element on the heap, that way you maintain the balance property of the heap, after that you heapify down.
The way it was presented may cause confusion, beacause if you just remove the element on the top and do the rearranjement, the heap may become unbalanced
thank you man to negate the values to use it as max heap was awesome trick ❤❤❤
Yeah I found that very cool when I first learned it too
Thank you for your explanation. I love how you explain the theory, but I expected more about the coding section. I hope something from scratch to understand the theory. Anw, thank you so much
These videos are great. Much love Greg
The pop heap described h err e is incorrect, as it does not maintain the heap property which has the has the leaf nodes filled from left, so it messes up the array structure essentially, please pay attention to the details and correct it if it causes confusions.
thank you so much for your clear explaination👍👍
What would happen if that -10 was a leaf node when you were heapifying the min heap? The leaf nodes were ignored but presumably in that case that -10 would need to get to the top?
Thank you a lot !! Please more videos like that
0:15 bro hitting puberty lol. Great video, well explained
looool 😂
Can't wait to see the dp or backtracking lesson (my national programming contest is soon and I suck a both)
how was it
that was very helpful and clear thanks man you really great ♡♡
Glad to hear it, thanks so much!
Could you do a course on linked lists please?
thanks for sharing your view, i appreciate it
You're very welcome!
not your view, but your way of teaching
What app do you use to draw on?
Would heapq. Be ok to use in a coding interview? Wouldn't they want you to implement the code?
very nice,👌👌👌👌 Thanks
I feel so bad about watching this great DSA lesson for free so even though I have access to Wi-Fi, I use my mobile data instead.
(This won't help you in any way either haha TT)
My daily DSA teacher Greg ^_^b
Hey greg, wouldn't the Heapify function be O(n.log(n)), since for every node in the tree of N nodes, you need to perform "Sift down" which itself is O(log(n))?
No look for a proof. O(n)
Quick question : How are you able to print the trees beautifully at 14:47 ? I can't find any inbuilt function.
he didn't
23:45 You said the heap is set according to the smallest frequency. So why is (3,4) placed after (4,5) in the heap array?
PS: Started watching this course recently, loving it so far!
The heap array is an array representation of a tree, if you wanted to get them in order you'd do a heapsort
Actually I just looked this up in Sedgewick algo book, it says that heap construction is n.log(n)...
you are correct there is mistake just taking the position to correct spot is O(long) and for this to all n
will extend the overall complexity to O(nlogn)
@GregHogg Love your videos but you should really correct or address mistakes like this, otherwise this can affect your credibility...
684. Redundant Connection can u make video on this problem
when u added 13 to the heap, it violates complete binary tree property.i think it should be added as right child of node 7. same goes with -2.
It’s not a binary tree. Order of children don’t matter.
I'm surprised that idk that heaps and priority queues are same thing. Always thought they are different.
Haha yep!
15:36 I thought heap pop have time complexity of 0(1)? Since you are just popping the minimum or the maximum (depends on what type of heap you have) at the top.
Nope, peek has O(1) but to pop you need to fix the tree which is log n
@GregHogg ok I see there's a difference.
sorry but in "real" pq only one(or zero) node have 1 child - others ether 0 or 2 - it simplifay :)