Final Remarks

Here's a quick summary of what we learned from the "Heaps" module.

We'll cover the following

Congratulations! You have successfully completed the “Heaps” module.

Summary#

In this module, we learned the underlying concepts and techniques needed to use heaps to efficiently solve a diverse range of problems. To solve problems where we need to find the kk most/least frequent or kk largest/smallest elements in a given set of elements—common in data analysis, natural language processing, online algorithms, as well as in recommendation systems—we deployed the heap-based pattern, known as Top K Elements. The fast insertion and deletion operations possible with heaps make them ideal to implement efficient algorithms for such problems. Further, we learned to use the Two Heaps pattern to solve problems where we need to simultaneously keep track of the kk largest elements in a set as well as the kk smallest elements in the same set. We then extended this idea, so that each heap was based on a separate dataset.

What's Next#

Now that we have learned how to solve problems in the Top K Elements and Two Heaps patterns, we will cover the use of heaps to solve problems in the K-way Merge Pattern, as well as learn other techniques to merge data from multiple sources, in the next module, “Fusion.”

Solution: Sliding Window Median

Fusion