堆
数组存储完全二叉树:
11号点是根节点,节点ii的两个孩子是2i2i和2i+12i+1。
如果想自己实现一个堆,需要实现向上调整函数up和向下调整函数down。
向上调整函数:
如果当前节点是根节点,或者当前节点小于自己的父亲节点,那么退出。
如果当前节点大于自己的父亲节点,那么和父亲节点交换,并且继续向上调整。
向下调整函数:
如果当前节点没有孩子,那么推出
如果当前节点,小于两个孩子节点中较大的一个,那么和孩子节点交换,并继续继续向下调整
数组存储完全二叉树:
11号点是根节点,节点ii的两个孩子是2i2i和2i+12i+1。
如果想自己实现一个堆,需要实现向上调整函数up和向下调整函数down。
向上调整函数:
如果当前节点是根节点,或者当前节点小于自己的父亲节点,那么退出。
如果当前节点大于自己的父亲节点,那么和父亲节点交换,并且继续向上调整。
向下调整函数:
如果当前节点没有孩子,那么推出
如果当前节点,小于两个孩子节点中较大的一个,那么和孩子节点交换,并继续继续向下调整
相关推荐
招聘动态