searches.quick_select¶
A Python implementation of the quick select algorithm, which is efficient for calculating the value that would appear in the index of a list if it would be sorted, even if it is not already sorted https://en.wikipedia.org/wiki/Quickselect
Functions¶
|
Three way partition the data into smaller, equal and greater lists, |
|
One common application of Quickselect is finding the median, which is |
|
Module Contents¶
- searches.quick_select._partition(data: list, pivot) tuple¶
Three way partition the data into smaller, equal and greater lists, in relationship to the pivot :param data: The data to be sorted (a list) :param pivot: The value to partition the data on :return: Three list: smaller, equal and greater
- searches.quick_select.median(items: list)¶
One common application of Quickselect is finding the median, which is the middle element (or average of the two middle elements) in a sorted dataset. It works efficiently on unsorted lists by partially sorting the data without fully sorting the entire list.
>>> median([3, 2, 2, 9, 9]) 3
>>> median([2, 2, 9, 9, 9, 3]) 6.0