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