利用递归思想处理二叉树大根堆

本文介绍如何处理一个乱序的二叉树,使其顶部元素为最大值。通过递归策略,首先定义排序方法,遍历二叉树的每个分支,并对每个分支进行排序。递归过程中,根据分支的根节点和子节点的关系进行比较并调整,确保根节点始终大于其子节点。递归方法的关键在于其自身的内部调用,直到满足终止条件。
摘要由CSDN通过智能技术生成

  处理一个乱序二叉树使其顶部为最大数

数据虽然很多,但是这个二叉树无非就是由多个小分支组成的,我们把它分为各个小分支,每个小分支进行排序,就是先写一个排序方法,再逐个遍历。

      

 首先对数组进行遍历,这里for循环的 i 的值设为 ( tree.length - 1) /2 ,因为我们需要的是每个根部的值,去遍历整个二叉树的小根部,对每个小分支进行排序,这些小分支对应的数组下标如图所示。

 

接下来就是排序的方法, 

 

输入一个数组,分支的根部对应数组下标,以及末尾数组下标。首先我们要进行判断,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值