Introsort从quicksort开始,并在递归深度超过基于要排序的元素数量的级别时切换到堆排序。那是几号 是否有特定范围或极限值?
在该点内省排序算法从快速排序切换到堆排序由下式确定 depth_limit :
depth_limit = 2·⎣log 2( 升 )⎦
其中 升 是要被排序的序列的长度,所以 升 = Ñ 整个序列。对于每个递归调用, depth_limit 都会减一。当 depth_limit 达到0时,它将从Quicksort切换到Heapsort。