二叉树排序:(以从大到小排序为例)
第一步:建堆:
无需排序,将数组按次序排成一颗完全二叉树
第二步:调整->交换->取走最后一个节点(为最大值)->调整->交换->取走最后一个节点.....以此循环
公共方法:
class 调整:
调整就是从最后一个父节点开始,依次比较父节点和子节点大小将父节点替换成最大值;
class 交换:
将最后一个节点和根节点交换;
二叉树排序:(以从大到小排序为例)
第一步:建堆:
无需排序,将数组按次序排成一颗完全二叉树
第二步:调整->交换->取走最后一个节点(为最大值)->调整->交换->取走最后一个节点.....以此循环
公共方法:
class 调整:
调整就是从最后一个父节点开始,依次比较父节点和子节点大小将父节点替换成最大值;
class 交换:
将最后一个节点和根节点交换;