深搜的剪枝技巧(一)——树的划分(可行性剪枝、上下界剪枝)

本文介绍了深度优先搜索的剪枝概念,包括剪枝原则和优化技巧,重点讲解了树的划分,如可行性剪枝和上下界剪枝。以将整数n划分为k份的问题为例,探讨了如何通过剪枝减少不必要的搜索过程,提高算法效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深搜的剪枝技巧(一)——树的划分(可行性剪枝、上下界剪枝)

本系列的开篇之作,先介绍一下剪枝的概念

一、什么是剪枝

  • 搜索的进程可以看成是从树根出发,遍历一颗倒置的树——搜索树的过程。剪枝就是通过某种判断,避免一些不必要的遍历过程

二、剪枝的原则

  • 正确性
  • 准确性
  • 高效性

三、 深度优先搜索的优化技巧

  • 优化搜索顺序
  • 排除等效冗余
  • 可行性剪枝
  • 最优性剪枝
  • 记忆化

四、树的划分(可行性剪枝、上下界剪枝)

  • 问题描述——将整数 n 划分成 k 份,且每份不能为空,问有多少种不同的分法?当 n = 7,k = 3 时,下面三种分法被认为是相同的,1,1,5;1,5,1;5,1,1。

  • 输入格式——输入文件只有一行,为两个整数 n 和 k(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值