🎃个人专栏:
🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客
🐳Java基础:Java基础_IT闫的博客-CSDN博客
🐋c语言:c语言_IT闫的博客-CSDN博客
🐟MySQL:数据结构_IT闫的博客-CSDN博客
🐠数据结构:数据结构_IT闫的博客-CSDN博客
💎C++:C++_IT闫的博客-CSDN博客
🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客
💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客
🥏python:python_IT闫的博客-CSDN博客
🐠离散数学:离散数学_IT闫的博客-CSDN博客
欢迎收看,希望对大家有用!
目录
🎯目的:
1)了解回溯算法思想;
2)掌握回溯法的算法框架;
3)能够针对实际问题,按照回溯法算法框架,分析问题的解空间、解空间的组织结构、搜索的约束条件、限界条件;
4)能够正确的编码;
5)能够正确分析算法的时间复杂度和空间复杂度。
🎯内容概括:
- 使用回溯法解决n皇后问题:在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。
0-1背包问题的回溯算法与分支限界算法的实现:给定n种物品和一个背包。物品i的重量是wi,其价值为vi,背包的容量为W。一个物品要么全部装入背包,要么全部不装入背包,不允许部分装入。装入背包的物品的总重量不超过背包的容量。问应如何选择装入背包的物品,使得装入背包中的物品总价值最大?
例如:物品数目n=4,限重W=7,物品重量分别为w=(3,5,2,1),价值为v=(9,10,7,4),最优解为:(1,0,1,1)。
🎯基本步骤:
1)明确题目的已知条件和求解的目标;
2)问题建模;
3)算法设计;
4)编码实现;