![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
yuer_xiao
111
展开
-
约瑟夫环问题数学解法
文章目录1.简介2.思路3.python代码4.总结约瑟夫环递推公式:f(1) = 0f(i) = (f(i-1) + m) % n 1.简介 问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。 2.思路 1.一共n个人,编号为(0~(n-1)),设最后的胜利者为本次编号y的人 2.第一次报完数后剩下n-1个人,我们把编号重新...原创 2019-12-06 17:30:54 · 1462 阅读 · 0 评论 -
python动态规划dp
文章目录1.简介2.背包问题3.最长非降子序列 1.简介 什么是动态规划 动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度,因此它比回溯法、暴力解法要快的多。 2.背包问题 问题描述 假设我们有n件物品,分别编号为1, 2…n。其中编号为i的物品价值为vi,它的重量为wi。为了简化问题,假定价值和重量都是整数值...原创 2019-12-06 10:07:26 · 2030 阅读 · 0 评论 -
回溯法(八皇后问题)及C语言实现
回溯法,又被称为“试探法”。解决问题时,每进行一步,都是抱着试试看的态度,如果发现当前选择并不是最好的,或者这么走下去肯定达不到目标,立刻做回退操作重新选择。这种走不通就回退再走的方法就是回溯法。 回溯VS递归 很多人认为回溯和递归是一样的,其实不然。在回溯法中可以看到有递归的身影,但是两者是有区别的。 回溯法从问题本身出发,寻找可能实现的所有情况...原创 2018-09-15 15:57:43 · 82966 阅读 · 22 评论