12. Divide and Conquer: Counting Inversions
The chapter focuses on the divide-and-conquer algorithmic paradigm, using the example of counting inversions in rankings as a case study. By comparing preferences across different rankings, a method for quantifying dissimilarity is developed through an efficient algorithm inspired by merge sort. This algorithm not only counts inversions but does so in a time-efficient manner of O(n log n), making it applicable for recommendation systems.
Enroll to start learning
You've not yet enrolled in this course. Please enroll for free to listen to audio lessons, classroom podcasts and take practice test.
Sections
Navigate through the learning materials and practice exercises.
What we have learnt
- The divide-and-conquer paradigm breaks problems into disjoint subproblems, which are solved independently and combined for the overall solution.
- Inversions are a measure of dissimilarity in rankings, counting the number of pairs ranked differently between two individuals.
- A more efficient way to count inversions can be achieved using a merge sort-like approach, which operates in O(n log n) time.
Key Concepts
- -- Divide and Conquer
- A computational technique that divides a problem into smaller subproblems, solves them independently, and combines their solutions to address the original problem.
- -- Inversion
- A pair of items in a ranking or list that are in the opposite order between two rankings, indicating dissimilarity in preferences.
- -- Merge and Count
- An algorithmic technique used in conjunction with merge sort to count inversions by exploiting the sorted properties of the divided lists during the merging process.
Additional Learning Materials
Supplementary resources to enhance your learning experience.