整数划分问题(续)(非递归法)

简介:

上一篇讨论的是整数划分问题递归方法,下面来讨论下非递归方法:

一般情况下,遇到递归问题,若能直接求得递推式,则可以很容易用数组模拟来实现递归,根据已经得出的递归关系,可以设置一个二维数组S[][]来存储数据:

for(i=1;i<=n;i++)
{  

   S[i][1]=1;
      S[1][i]=1;
}

for
(i=2;i<=n;i++)
{

   for
(j=2;j<=m;j++)
   {

     i f(i==j)
           S[i][j]=1+S[i][i-1];
       else if
(i<j)
           S[i][j]=S[i][i];
       else

           S[i][j]=S[i-j][j]+S[i][j-1];
   }

}


本文转载自海 子博客园博客,原文链接:http://www.cnblogs.com/dolphin0520/archive/2011/04/04/2005117.html如需转载自行联系原作者

相关文章
|
3月前
|
算法 搜索推荐 Shell
数据结构与算法学习十二:希尔排序、快速排序(递归、好理解)、归并排序(递归、难理解)
这篇文章介绍了希尔排序、快速排序和归并排序三种排序算法的基本概念、实现思路、代码实现及其测试结果。
55 1
|
5月前
|
Python
【Leetcode刷题Python】105. 从前序与中序遍历序列构造二叉树
LeetCode上105号问题"从前序与中序遍历序列构造二叉树"的Python实现,通过递归方法根据前序和中序遍历序列重建二叉树。
34 3
|
8月前
|
存储 算法 IDE
数据结构与算法⑯(第四章_下)二叉树的层序遍历+判断完全二叉树+一道OJ
数据结构与算法⑯(第四章_下)二叉树的层序遍历+判断完全二叉树+一道OJ
58 1
|
8月前
|
Python Java Go
Python每日一练(20230401) 最大子序和、前序中序构造二叉树、岛屿数量
Python每日一练(20230401) 最大子序和、前序中序构造二叉树、岛屿数量
47 0
Python每日一练(20230401) 最大子序和、前序中序构造二叉树、岛屿数量
|
8月前
|
算法 C++ Python
Python每日一练(20230425) 多数元素、二叉树层序遍历II、最接近的三数之和
Python每日一练(20230425) 多数元素、二叉树层序遍历II、最接近的三数之和
38 0
Python每日一练(20230425) 多数元素、二叉树层序遍历II、最接近的三数之和
|
8月前
|
算法 C++ Python
Python每日一练(20230423) 链表倒数结点、最小子串、二叉树层序遍历
Python每日一练(20230423) 链表倒数结点、最小子串、二叉树层序遍历
54 0
Python每日一练(20230423) 链表倒数结点、最小子串、二叉树层序遍历
|
8月前
|
Python Java Go
Python每日一练(20230421) 组合总和II、加一、中后序遍历构造二叉树
Python每日一练(20230421) 组合总和II、加一、中后序遍历构造二叉树
50 0
Python每日一练(20230421) 组合总和II、加一、中后序遍历构造二叉树
|
8月前
|
Serverless
【PTA刷题+代码+详解】求二叉树度为1的结点个数(递归法)
【PTA刷题+代码+详解】求二叉树度为1的结点个数(递归法)
705 0