N皇后问题
**走迷宫 **

以上q2不行 因为不能在同一行


这条路所有的都走不通所以需要回溯回溯至上一条路,把上一个皇后位置改变下

重新放皇后三


皇后四不能放所以回溯,发现皇后三也不能放

再往上回溯,发现2也不行那就回溯皇后1


总结:相邻的两个皇后至少隔一行或一列

处于同一条斜线上的两个皇后,行号之差的和列好之差的值是一样的



非递归求解N皇后问题
定义的数组加1是因为需要从1开始而不是0




先存入j是要对j检查然后下面代码是检查
判断代码
queen是初始化把期盼所有初始化为0表示都还没数据


递归求解n皇后问题

到了皇后3发现都不合法方法从栈里消失执行皇后2栈


回溯过去后继续执行上一个皇后的i++,q2跑到了4


分治法(递归实现)




pr对映左右边界
**只有p<r的时候才需要分解 **


merge是最后的合并

求得是序列长度n1n2



分治法 最大子段和问题(时间复杂度)

那个符号的意思是k从i开始到j结束对ak求和






题

动态规划(分治法相似 )
分治法子问题独立说明子问题是不一样的

动态规划法是没计算一个子问题的解都会将其保存下来 等以后遇到相同的子问题直接调用解


01背包问题的01是物品要么装进去要么不装

01背包问题


分解子问题





求解01背包问题



每次j++一下
https://www.bilibili.com/video/BV1CS4y187Hk?p=15&spm_id_from=pageDriver&vd_source=6092f2dd634d869c97e5d08dde6f3844
背包问题代码实现

01背包问题空间复杂度(矩阵连乘时间复杂度)

题

a以深度优先去找解 找不到的话就回溯到上一级

加括号使得计算次数最少就是计算次序

贪心法



部分背包问题求解(贪心法)(时间复杂度)

部分装入背包(0<=x<=1),但是是背包能承受的最大值,比如容量为9 装了8



部分背包问题代码实现


https://www.bilibili.com/video/BV1CS4y187Hk/?p=27&spm_id_from=pageDriver&vd_source=6092f2dd634d869c97e5d08dde6f3844

题

算法总合
动态规划法求全局最优解











![05- redis集群模式搭建(上) (包含云服务器[有坑])](https://img-blog.csdnimg.cn/9f6f10ec1a8c4c2385205c9f4cbd4039.png)












