递归和迭代的算法分析

时间:2014-11-12 23:25:20

标签: algorithm recursion iteration

我目前正在学习递归和迭代函数中的算法分析。

我理解递归中的算法分析比迭代函数更多。我在分析递归函数时并不擅长,但我得到了它的全部内容。

事实上,在迭代函数中进行分析时,我感到非常困惑。

我在网站上搜索了这两个主题的帮助,因为我真的很想了解并精通算法分析。我不想过得离开。是否有任何优秀的网站或良好的阅读可以帮助我更好地理解这些主题在Layman的术语?

我读过Knuth的书“混凝土数学”并买了一本。是否有其他网站或书籍可以更好地教授这些主题,或者我可以在网上找到并练习?

仅举例来说,我很困惑的一个练习题是这样的问题:

for(i = 1 to n)
{
    for(l = 1 to i)
    for(j = 1 to 3)
    {
         2 operations 
    for(k = 1 to i)
         3 operations
    }
}

我知道从哪里开始,但是在最初的步骤之后,所有的轮子都为我脱落了。我很乐意接受任何帮助,指导我正确指导这些主题。

谢谢大家的时间和帮助。

(如果这个话题过于宽泛,我会道歉。)

2 个答案:

答案 0 :(得分:1)

我认为这有助于你理解这件事。

http://discrete.gr/complexity/

Knuth的书和CLRS对算法的引入是算法的圣经。如果您想了解算法的简要知识,我个人建议这两本书。

答案 1 :(得分:1)

作为迭代算法/函数的提示:

大多数情况下您只关注一件事:输入大小即n。因此,一目了然地检查当n非常大时函数会走多远。您可以用n粗略估计复杂性。

对于资源,我发现自己喜欢阅读this讲义(这本书不仅仅是笔记)。