将n个关键字放到叶子结点,两两比较,选出较小者去上一层,如此往复,直到选出最小关键字的记录为止。
现在找到了最小关键字13,13输出,将叶子结点中的13改为∞
当前序列:13
共进行了n-1=8-1=7次关键字的对比
76<∞,76上去;76>27,27上去;27<38,27上去。此时选出了下一个最小的关键字27
当前序列:13 27
下一轮选出38
当前序列:13 27 38
后面的过程以此类推
若树高为h,可以看出,从第二轮起对比关键字的次数至多为h-1,而n个叶子结点的完全二叉树深度h=⌈log2n⌉+1,故选出最小结点需要n-1次关键字的对比。除最小结点外,每选择一个次小关键字至多需要对比h-1=⌈log2n⌉次。时间复杂度O(nlog2n)
缺点:辅助存储空间较多、和“最大值”进行多余的比较,因此提出了堆排序