![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
记录我在学习算法的过程中遇到到问题,经过思考后得出的结论
kong_and_white
这个作者很懒,什么都没留下…
展开
-
力扣剑指Offer 27.二叉树的镜像题解
题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。题目链接:剑指 Offer 27. 二叉树的镜像解题思路:所有结点的左右子树对换解题例子:镜像后的结果:步骤:1.将根节点左右子树交换2.将根左 左右子树交换; 根右 左右子树交换3.将根左左 左右子树交换;根左右 左右子树交换; 根右左 左右子树交换;根右右 左右子树交换。将得到最终结果整个解题的步骤对应的就是递归的过程。力扣代码:# Definition for a binary tree node.# clas原创 2021-05-23 13:29:11 · 165 阅读 · 0 评论 -
基于李春葆老师主编的《算法设计与分析》有关用回溯法求解装载问题的分析
上机实验题7——求解装载问题 有 n 个集装箱要装上一艘载重量为 W 的轮船,其中集装箱 i(1<=i<=n)的重量为 wi 。在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船,当总重量相同时要求选取的集装箱个数尽可能少。编写一个实验程序采用回溯法求解。要求采用适当的剪枝条件提高效率,左孩子结点剪枝的条件是只装载满足重量要求的集装箱,右孩子结点剪枝 的条件是至少要选 3 个集装箱。  原创 2020-12-05 15:28:25 · 1156 阅读 · 0 评论 -
基于李春葆老师主编的《算法设计与分析》有关用动态规划求解整数拆分问题的观点
我的观点: 关于 “显然将正整数n无序拆分成最大数为k的拆分数,与将正整数n拆分成最多不超过k个数之和的拆分数相等。”这种想法本身确实没错,并且对于前三种情况也好理解。但是对于 n>k 的这种情况的拆分方案如果按照 “ dp(n,k) 为将数 n 无序拆分为最多不超过 k 个数之和的拆分数 ” 来理解就讲不通,对于这种情况还是要按照“ dp(n,k) 为将数n无序拆分为最大数为k的拆分数 ” 来理解。因为前三种情况按照哪种假设来说都比较好理解,下面我就第四种情况即 n>k 的这种情况下按照第二种假设展开讨论原创 2020-12-02 21:51:32 · 380 阅读 · 0 评论