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
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 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
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?
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!
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))?
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
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
wow! This channel is so underrated. Thankyou!!
Greg you missed the complete binary tree property of Heap at 5:20
Nice video brother. It help me a lot. Love you from Bangladesh.
These videos are great. Much love Greg
4:52 incorrect representation
Excellent explanation, thank you
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 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
Great explanation.Thank you
Thank you a lot !! Please more videos like that
thank you so much for your clear explaination👍👍
Can't wait to see the dp or backtracking lesson (my national programming contest is soon and I suck a both)
how was it
Could you do a course on linked lists please?
very nice,👌👌👌👌 Thanks
0:15 bro hitting puberty lol. Great video, well explained
looool 😂
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?
Your tree at 11:55 doesn't satisfy the condition of a heap as the last level wasn't filled from left to right
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
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)
that was very helpful and clear thanks man you really great ♡♡
Glad to hear it, thanks so much!
Quick question : How are you able to print the trees beautifully at 14:47 ? I can't find any inbuilt function.
he didn't
What app do you use to draw on?
thanks for sharing your view, i appreciate it
You're very welcome!
not your view, but your way of teaching
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...
I'm surprised that idk that heaps and priority queues are same thing. Always thought they are different.
Haha yep!
Would heapq. Be ok to use in a coding interview? Wouldn't they want you to implement the code?
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.
Nice
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.
sorry but in "real" pq only one(or zero) node have 1 child - others ether 0 or 2 - it simplifay :)