社区
数据结构与算法
帖子详情
递归
jp1984
2005-04-14 10:01:28
在利用最佳原理中求TSP问题中的比较次数中得到结果
T(n) = (n - 1)T(n - 1) + n - 1
请问该递归关系如何求解?
...全文
167
8
打赏
收藏
递归
在利用最佳原理中求TSP问题中的比较次数中得到结果 T(n) = (n - 1)T(n - 1) + n - 1 请问该递归关系如何求解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jp1984
2005-04-20
打赏
举报
回复
To : dengsf
谢谢回复。
不错的,我和您得到相同的结果
S(n) = (n-1) + (n-1)(n-2) + ... + (n-1)(n-2)..2*1
但是对S(n)无法取得简单形式。主要对TSP组合分析算法复杂度可取得精确的比较次数,含2^n 。我想这个递归解得的肯定是含 n! 项的表达式。然后用Stirling公式近似可取得和前面同阶的复杂度。
求解到这里 其实也差不多了,总归还是个求复杂度的问题 。
jp1984
2005-04-18
打赏
举报
回复
谁帮下忙。
dengsf
2005-04-18
打赏
举报
回复
更正一点,
因 S(n) = HAHA(n-2)*(n-1)!
严格来说, S(n) = SITA[(n-1)!] = o(n!)
个人觉得应该没有没有较简单的通式——觉得而已~
实际的 S(n) = (n-1) + (n-1)(n-2) + ... + (n-1)(n-2)..2.1
它如果有简单形式的话,看上去似乎会是 f(n)^g(n) 的形式,但要符合
lim(n->无穷)(f(n)^g(n))/(n-1)! = e = lim(n->无穷)HAHA(n) = lim(n->无穷)(1+1/n)^n
不知从这里会否有所进展。
PS:楼主为什么一定要求精确值?
& 楼主说话很客气~
dengsf
2005-04-15
打赏
举报
回复
有点遗漏
S(n) = HAHA(n-2) + C
C为常数 = S(1) = T(1)
但对最后的 SITA(n!) 没影响。
dengsf
2005-04-15
打赏
举报
回复
两边除以 (n-2)! 得:
T(n)/(n-1)! = T(n-1)/(n-2)! + 1/(n-2)!
令: S(n) = T(n)/(n-1)!
得:S(n) = S(n-1) + 1/(n-2)!
记 HAHA(n) = sum[0 to n](1/n!)
很明显 S(n) = HAHA(n-2)
而 1 <= HAHA(n) <= 1 + 1 + 1/2 + 1/4 + ... = 3 ( n >= 0 )
所以 T(n) = (n-1)! * HAHA(n-2) = SITA(n!)
mmmcd
2005-04-15
打赏
举报
回复
如果要求通式,就要解非齐次差分方程
gumbour
2005-04-15
打赏
举报
回复
边界
T(0) = ?
假设 T(0) = T0
int Fun(int n)
{
if (n == 0)
return T0
else
return (n-1)*Fun(n-1)+n-1
}
jp1984
2005-04-15
打赏
举报
回复
to dengsf:
不管怎样,谢谢您的回复。
其实题目已经给出了T(1),一个顶点时的TSP问题显然T(1) = 0
您的结论是正确了, 参照您上面的结论,C = 0.
得到T(n) ~ sita(n!).
我要问的不是渐进情况下的复杂度问题 。我说的是准确的比较次数,换句话说,就是通式。您的思路很好,但是对于HAHA(n - 2)仍然无法取得通式。
我曾考虑用n去乘等式的两边,用H(n)=nT(n)做替换,也可以取得您的结论,但是依旧求不出通式。
Android 音乐播放器源码
Android 音乐播放器,实现
递归
扫描SD根目录歌曲文件,切换播放模式、查看歌曲详细信息等基本功能,源码打包给大家,需要的下载哈 参考:http://blog.csdn.net/linmiansheng/article/details/18455593
递归
算法1——简单
递归
之求n的阶乘
递归
就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题,能采用
递归
描述的算法通常有以下特征: 为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。
递归
是一种分而治之、将复杂...
C语言
递归
算法及简单
递归
练习总结
递归
:大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解
递归
。 简单理解:
递归
:你打开面前这扇门,看到屋里面还有一扇门。你走过去,发现手中的钥匙还可以打开它,你推开门,发现里面还有一扇门,你继续打开它。若干次之后,你打开面前的门后,发现只有一间屋子,没有门了。然后,你开始原路返回,每走回一间...
递归
与非
递归
实现斐波那契数列:
递归
的好处与局限性
斐波那契数列是一个非常经典的数学数列,其中每个数是前两个数的和。数列的前两个数定义为1,后续的数则通过递推公式得出。我们将通过
递归
和非
递归
两种方法来实现计算第n个斐波那契数,并进一步探讨
递归
的优缺点。
递归
是一种非常强大的编程工具,在许多问题中都能提供优雅的解决方案。通过
递归
,我们可以非常自然地表达问题的数学模型,例如斐波那契数列。然而,
递归
也有其局限性,尤其是在涉及大量重复计算和
递归
深度过大的情况下,可能导致性能瓶颈和栈溢出问题。
深度优先搜索(DFS)
递归
与非
递归
实现逻辑详解
递归
与非
递归
: 数据结构对于学习编程的人来说是非常重要的,我们在现实生活碰到的各种烦难问题可以用
递归
来实现,一个
递归
思想就把问题给简单化了,但是我们都知道
递归
是非常耗时的,一旦数据量庞大起来,
递归
次数多了,这个时间是非常恐怖的。所以一般我们都会把一些
递归
问题给非
递归
化,来达到某一定的效率。通常
递归
转化为非
递归
用到了栈和队列,今天就详解用栈来实现转化的逻辑处理,并且以(01背包为主讲
数据结构与算法
33,028
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章