首页
学习
活动
专区
圈层
工具
发布

问算法图
EN

Stack Overflow用户
提问于 2010-05-17 10:59:42
回答 1查看 1.6K关注 0票数 1

这是最大搜索算法图:574.jpg

因此,我想知道如何为HaNoi Tower程序绘制图表。

代码语言:javascript
复制
package tunl; 

public class TowersApp {
    static int n = 3;

    public static void main(String[] args) {
        TowersApp.doTowers(3, 'A', 'B', 'C');
    }

    public static void doTowers(int n, char from, char inter, char to) {
        if (n == 1) {
            System.out.println("disk 1 from  "+ from + "  to  " + to);
        } else {
            doTowers(n-1, from, to, inter);
            System.out.println("disk  " + n + "  from  " + from + "  to  " + to);
            doTowers(n-1, inter, from, to);
        }
    }
}

我画不出来。任何人都能帮我!

EN

回答 1

Stack Overflow用户

发布于 2010-05-17 11:09:50

您的难题是算法是递归的。一种选择是将其转换为具有显式堆栈的迭代算法。但这就失去了算法的一些高层结构。显示递归结构将是很好的。

我不知道有一个用于递归的标准流程图成语,但我要画的是作为流程图的基本算法,并在其周围放置一个与调用中使用的名称相同的框。由于调用的参数与父调用略有不同,因此可以将这些参数分配给新变量,然后将这些变量作为参数传递。调用本身可以被标记为"CALL doTowers“或类似的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2848419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档