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
Credited To
Source Introselect (Wikipedia)
In Field
Source Introselect (Wikipedia)
Invented By
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
Credited To: David Musser, Lead section
introduced by David Musser
Invented By: David Musser, Lead section
introduced by David Musser
- 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.