什么是k路平衡归并:
1、最多只能有k个段归并为一个
2、每趟归并中,若有m个归并段参与归并,则经过这一趟处理后得到m/k向上取整个新的归并段
当路多的时候会带来什么问题,因为每次需要选择n路中最小的或者最大的,则每次选择都需要n-1次比较,这不是一个较小的开销
败者树–可视为一棵完全二叉树(多了一个头头)。k个叶节点分别是当前参加比较的元素,非叶子结点用来记忆左右子树的“失败者”,而让胜者往上继续进行比较,一直到根结点。
当把最强的拿走后,来一个新的则替换叶子节点,向上让他打比赛打赢就像上爬。
在败者树节点中记录来自哪一个归并段即可,叶子节点是虚拟的,叶子节点并不存储值。
“失败树”是一个完全二叉树。