分析:
超重和超预算则回溯,或者遍历到最后一个自动回溯。

解空间为
部件n和供应商m的全排列组合的穷举 , 为m^n。(无约束时)
解空间树:

层数:共 n+1 层(根节点为第 0 层,第 1 层对应部件 1,第 2 层对应部件 2,…,第 n 层对应部件 n);
根节点(第 0 层):初始状态,未选择任何部件的供应商;
第 k 层结点(1≤k≤n):表示 “前 k-1 个部件已选好供应商,正在选择第 k 个部件的供应商” 的状态;
叶子结点(第 n 层):表示所有 n 个部件的供应商都已选完,对应解空间中的一个完整 n 元组。
理解:
回溯限界算法时dfs的进一步优化
回溯算法的本质是系统地遍历解空间,但不是盲目枚举所有可能,而是在遍历过程中通过 “剪枝” 排除不可能的解,减少计算量:
回退(回溯):当某条路径无法得到可行解(如成本超支),或已探索完该路径的所有可能,就回退到上一步,尝试其他分支;
剪枝:在构建解的过程中,提前判断当前路径是否不可能得到最优解 / 可行解,直接终止该路径的遍历(核心优化手段)。