【例10.6】16 个选手的比赛(n=24)
图10.5 中,从叶结点开始的兄弟间两两比赛,胜者上升到父结点;胜者兄弟间再两两比赛,直到根结点,产生第一名91。比较次数为23+22+21+20=24-1=n-1。
图10.6 中,将第一名的结点置为最差的,与其兄弟比赛,胜者上升到父结点,胜者兄弟间再比赛,直到根结点,产生第二名83。比较次数为4,即log2n 次。其后各结点的名次均是这样产生的,所以,对于n 个参赛选手来说,即对n 个记录进行树形选择排序,总的关键码比较次数至多为(n−1)log2n+n−1,故时间复杂度为O(nlog2n)。该方法占用空间较多,除需输出排序结果的n 个单元外,尚需n-1 个辅助单元。