12.27_黑马数据结构与算法笔记Java

目录

254 零钱兑换II 递归 递归分析

255 零钱兑换II 递归 所有组合

256 零钱兑换II 递归 顺序优化

257 零钱兑换II 递归 

258 零钱兑换 贪心 1

259 零钱兑换 贪心 2

260 Huffman Tree

261 Huffman Tree 分析

262 Huffman Tree 统计频次

263 Huffman Tree 构建树

264 Huffman Tree 记录编码

265 Huffman Tree 编解码


254 零钱兑换II 递归 递归分析

255 零钱兑换II 递归 所有组合

可以进行优化,将重复代码抽取出来

256 零钱兑换II 递归 顺序优化

倘若代码量大,那重复调用的代码就会很多,因此,需要进行优化。

我们发现,由大到小的递归次数少 

 分析过程:

257 零钱兑换II 递归 

自增自减是因为,方便下一次的递归调用。 

这属于暴力递归。 

258 零钱兑换 贪心 1

259 零钱兑换 贪心 2

260 Huffman Tree

 这最好的编码方式就是HuffmanTree

261 Huffman Tree 分析

262 Huffman Tree 统计频次

有左孩子就一定会有右孩子,因此判断左孩子是否为null即可

 优化:如果map中缺失,则创建一个新的,再返回node,如果map中不缺失,则不创建新的,直接返回node

263 Huffman Tree 构建树

264 Huffman Tree 记录编码

功能四

265 Huffman Tree 编解码

解码思路: 

 

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值