华为OD机试C、D卷 - 生成哈夫曼树(Java & JS & Python & C & C++)

介绍

博主介绍:CSDN领军人物top1的作者,全网粉丝30w+,文章累计被阅读3800w+,直接帮助200+,间接帮助800+同学进入od
添加博主免费获取本题解析以及代码

题目描述

给定长度为 n 的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。

请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。

为了保证输出的二叉树中序遍历结果统一,增加以下限制:

二叉树节点中,左节点权值小于右节点权值,根节点权值为左右节点权值之和。当左右节点权值相同时,左子树高度小于等于右子树高度。

注意:

所有用例保证有效,并能生成哈夫曼树。

提醒:

哈夫曼树又称为最优二叉树,是一种带权路径长度最短的二叉树。

所谓树的带权路径长度,就是树中所有的叶节点的权值乘上其到根节点的路径长度(若根节点为 0 层,叶节点到根节点的路径长度为叶节点的层数)

输入描述

例如:由叶子节点:5 15 40 30 10,生成的最优二叉树如下图所示,该树的最短带权路径长度为:40 * 1 + 30 * 2 + 5 * 4 + 10 * 4 = 205。

解析+代码

可以私信我或者点击“联系我”免费获取解析+代码

最纯净OD交流圈,无限提问特权

由于博主时间精力有限,每天私信人数太多,没办法每个粉丝的问题都及时回复,所以优先回复VIP粉丝,可以联系博主进入纯净OD交流圈,获得一对一答疑服务(多位老师负责答疑,包含各种语言)

最纯净版的OD交流圈,包含2024最新华为OD题库、真实考试报告、真实面试实况等内容,独家资源其他地方基本找不到。粉丝可以先联系博主领取50优惠券后再进入,优惠后价格为50,远远低于其他专栏订阅价格,质量服务远远高于其他专栏。

最新C、D卷题库
题库每周更新,根据最近考试的小伙伴反馈以及从其他合作伙伴的渠道提前获取最新真题,保证题库的时效性

真实考试报告
内部小伙伴反馈的真实考试报告,都是最新的,每周会同步更新,个人隐私部分会删掉,只留题目、代码、分数以及时间等内容。

真实面试实况
内部小伙伴反馈的真实面试实况,都是最新的包括一面、二面、加面等,每周会同步更新,个人隐私部分会删掉,只留题目、代码、分数以及时间等内容。

远程协助
自己刷题没有信心通过的小伙伴可以私聊星主,参加协助训练营百分百帮助通关

部分资料截图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桃花键神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值