分治法,动态规划法,贪心法,回溯法主要概括

编程入门 行业动态 更新时间:2024-10-27 02:18:35

分治法,动态规划法,<a href=https://www.elefans.com/category/jswz/34/1769875.html style=贪心法,回溯法主要概括"/>

分治法,动态规划法,贪心法,回溯法主要概括

目录

分治法,动态规划法,贪心法,回溯法主要概括

  • 1.前言
  • 2.分治法
    • 2.1基本思想:
    • 2.2适用条件:
    • 2.3时间复杂度:
    • 2.4主要解决:
    • 2.5关键字:
    • 2.6其他:
  • 3.动态规划法
    • 3.1基本思想:
    • 3.2适用条件:
    • 3.3时间复杂度:
    • 3.4主要解决:
    • 3.5关键字:
  • 4.贪心法
    • 4.1基本思想:
    • 4.2时间复杂度:
    • 4.3主要解决:
    • 4.4时间复杂度:
    • 4.5关键字:
  • 5.回溯法
    • 5.1基本思想:
    • 5.2时间复杂度:
    • 5.3主要解决:
    • 5.4其他:
  • 总结
  • 参考


1.前言

分治法,动态规划法,贪心法,回溯法主要概括

2.分治法

2.1基本思想:

讲一个复杂问题分解为若干规模较小且结构与原问题相似的子问题,然后递归解决这些子问题,最后将子问题的解合并得到原问题的解。

2.2适用条件:

1.问题可以被划分为相互独立且同质的子问题。
2.子问题的解可以合并为原问题的解。
3.子问题的规模足够小,可以直接求解。

2.3时间复杂度:

通常为O(nlogn)

2.4主要解决:

求解最优子结构
最大子数组和问题

2.5关键字:

分解子问题,递归解决,分币

2.6其他:

归并排序和快速排序都是使用分治法的经典算法。

3.动态规划法

3.1基本思想:

将原问题分解为若干重叠子问题,通过求解子问题的最优解得到原问题的最优解。使用一个表格来存储子问题的最优解,避免重复计算

3.2适用条件:

原问题可被分解为重叠的子问题

3.3时间复杂度:

不一定看具体算代码 通常为O(n^2)或
O(n^3)

3.4主要解决:

背包,0-1,公共子序列

3.5关键字:

全局最优解

4.贪心法

4.1基本思想:

每一步都选择当前看起来的最优解,不考虑未来,通过一系列的局部最优解,希望得到全局最优解。

4.2时间复杂度:

通常为O(n)

4.3主要解决:

霍夫曼编码、最小生成树(如Prim算法和Kruskal算法),背包问题,任务调度

4.4时间复杂度:

通常为O(n),因为贪心算法只需一次遍历即可得到解

4.5关键字:

局部最优解

5.回溯法

5.1基本思想:

通过逐步构建解的集合,当发现当前候选解不能满足问题的约束条件时,回溯到上一步进行其他选择,直到找到满足问题的解或者遍历完所有可能的选择

5.2时间复杂度:

取决于问题的规模和解的数量,通常为指数级别的复杂度。

5.3主要解决:

N皇后,迷宫问题

5.4其他:

回溯算法是一种通过穷举所有可能的解并逐步构建答案的方法。

总结

参考

给个三连吧 谢谢谢谢谢谢了

更多推荐

分治法,动态规划法,贪心法,回溯法主要概括

本文发布于:2023-12-04 11:20:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1660749.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:贪心   治法   动态

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!