- 博客(18)
- 收藏
- 关注
原创 回溯法n后问题(具体代码实现,详细分析)
1.问题描述在nxn格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线 上的棋子。n后问题等价于,在nxn格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。
2022-12-20 10:43:12 1082
原创 构造哈夫曼树 代码实现 并且层次遍历, 前序遍历
使用两个最小的权值 2 3 构造树(小的放在左子树,大的放在右子树)使用两个最小的权值 18 21 构造树(小的放在左子树,大的放在右子树)使用两个最小的权值 25 39 构造树(小的放在左子树,大的放在右子树)使用两个最小的权值 9 12 构造树(小的放在左子树,大的放在右子树)使用两个最小的权值 5 7 构造树(小的放在左子树,大的放在右子树)假设给定权值:2, 3, 7, 9, 18, 25。权值为:5, 7, 9, 18, 25。权值为: 9,12, 18, 25。本代码是由java代码实现。
2022-11-28 15:33:00 1289
原创 贪心算法实现找零钱
贪心算法定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。给出面值 100 50 20 10 5 1。输出一共需要用多少张钱币:4。这个比较简单就直接上代码了。输入需要找钱的金额:85。
2022-11-28 15:01:48 1025
原创 C语言实现0-1背包问题(详细实现)并且动态实现0-1背包问题
背包问题通俗的说,就是假如你面前有5块金块速分别为a, b, c, d, e,每块金块的重量不同,并且每块金块所带来的价值也不同(注意:这里金块的重量的价值没有特定关系),目前我们有一个背包,只有固定的容量,要解决的问题就是在一定容量的背包面前装哪几块金块才能获取到最大的价值,对于每块金块我们只有拿或者不拿这两种选择,拿为1不拿为0,因此叫做0-1背包问题。下面我们给出思想,以及步骤。
2022-11-01 23:49:20 2455
原创 动态规划0-1背包问题。(算法设计与分析详解)
背包问题通俗的说,就是假如你面前有5块金块速分别为a, b, c, d, e,每块金块的重量不同,并且每块金块所带来的价值也不同(注意:这里金块的重量的价值没有特定关系),目前我们有一个背包,只有固定的容量,要解决的问题就是在一定容量的背包面前装哪几块金块才能获取到最大的价值,对于每块金块我们只有拿或者不拿这两种选择,拿为1不拿为0,因此叫做0-1背包问题。下面我们给出思想,以及步骤。
2022-10-29 20:03:59 4844
原创 一个自创完整的 “my_strcpy” 函数
在这里 一个完整的字符copy函数,会有各种结合;这里首先 1.需要创造2个数组,以提供copy 原代码;2.在这里很好的用了一个“assert”的函数;这个函数主要是能够在满足条件下给我们进行一个报错的功能;提示我们代码的错误和缺陷,也是我们对代码进行优化的一种选择; 3.这里我们又进行了一步优化; 首先能够把我们的copy的字符放在待放入的数组空间当中去;在进行判断;实际上它是这样一段代码优化过来的:4. 这里要说一下const这个变量的做用:...
2022-04-02 21:05:48 184
原创 发现的“异或”不使用第三变量的小技巧。
题目:不使用第三个变量,把a,b交换输出:1.这是使用第三变量 时就是我们最容易想到的一种解决方法。其中还有不使用第三变量:就很难想到一个最精简的解法下面会给出两种不同的解法:2.第一种 加减赋值法:这里就可以很好的发现 已经成功解题,但是不难发现 会在不同情况下发生溢出现象,没有达到我们的理想化;但是还能在优化 我们看下一种方法用“异或”的方法我们怎么做?2.异或的速度解决方法;看完上述代码你会发现 可读性不高 但是这是很简洁的方法;首先我...
2022-03-31 21:33:34 272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人