Introselect, short for introspective selection, is a selection algorithm that hybridizes quickselect and median of medians, giving fast average performance together with optimal worst case performance. It is related to the introsort sorting algorithm in that both begin with a quick algorithm offering good average performance and low overhead, then fall back to a slower but worst case optimal algorithm if the quick algorithm is not progressing rapidly enough. Both were introduced by David Musser in 1997 to provide generic algorithms for the C++ Standard Library with both fast average and optimal worst case performance, though most Standard Library implementations in practice use a different introselect combining quickselect and heapselect.
Facts
Time Complexity
Time Complexity (category)Linearithmic Time -- O(n log n) 1 Classification
Design Technique Connections
In Field
Source Introselect (Wikipedia)
Uses Design Technique
Sources
1. Introselect (Wikipedia)
Wikipedia infobox: time complexity linearithmic
linearithmic
Wikipedia: design technique divide-and-conquer
divide-and-conquer
- In Field: Algorithms and Complexity Theory, Lead paragraph
In Group: Selection Algorithms, Lead
In computer science, introselect (short for "introspective selection") is a selection algorithm that is a hybrid of quickselect and median of medians which has fast average performance and optimal worst-case performance.
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.