递归回溯以显示单词列表

时间:2016-05-30 07:56:12

标签: java string list recursion

我正在开发Anagram Finder计划。我写作的方法之一介绍了递归回溯这个我完全不熟悉的概念。我希望得到一些关于它如何工作/如何使其工作的建议。

我试图实现递归回溯,以便显示字典文本文件中的单词列表,以形成输入短语的字谜。这就是我到目前为止所拥有的:

public void printAnagrams(String phrase, int max, List<List<String>> anagrams) {
    if (anagrams == null) { 
        throw new IllegalArgumentException(); 
    } else if (max != 0) {
        System.out.println("...");
    } else 
        System.out.println("...");
    for (List<String> element : anagrams)
        System.out.println(anagrams);
}// End of printAnagram method 

如果max&gt; 0,仅显示最大单词或更少的组合。 由于程序很长,背景信息列在下面的链接中。

AnagramFinder类:raw code

客户类:raw code

这是预期的结果:

文件名? dict2.txt

对争夺的短语?当然

在&#34; off course&#34;中找到的所有单词: [核心,课程,cs,治疗,for,force,force,four,of,off,offer,offer,或者,我们的,我们的,re,得分,所以,来源,受苦,当然,我们,使用,用户] < / p>

要包含的最大单词(输入无最大值)? 3

[核心,关闭,我们]

[core,us,off]

[当然,关闭]

[治愈,关闭,所以]

[治愈,所以,关闭]

[force,of,us]

[force,us,of]

[of,force,us]

[of,us,force]

[off,core,us]

[off,course]

[关闭,治愈,所以]

[关闭,所以,治愈]

[off,source]

[off,us,core]

[所以,治愈,关闭]

[所以,关闭,治愈]

[来源,关闭]

[我们,核心,关闭]

[us,force,of]

[us,of,force]

[我们,关闭,核心]

1 个答案:

答案 0 :(得分:0)

尝试使用链接列表而不是列表&gt;它更好更容易理解