jjzjj

recursion

全部标签

Java 选择递归函数

我这里有两个不同的递归函数,用于在Java中反转字符串:Longms1=System.currentTimeMillis();Stringstr1=reverse1(str);ms1=System.currentTimeMillis()-ms1;Longms2=System.currentTimeMillis();Stringstr2=reverse2(str);ms2=System.currentTimeMillis()-ms2;System.out.println("Input:"+str);System.out.println("Length:"+str.length());Sy

java - 我如何找到 Java 中递归方法的时间复杂度?

我还没有完全掌握复杂性的概念,我想知道如何在这段代码中为方法f(n)计算它:importjava.util.Random;publicclassMain{publicstaticvoidmain(String[]args){Randomr=newRandom();r.setSeed(System.currentTimeMillis());intn=r.nextInt(20)+1;f(n);}privatestaticvoidf(intn){if(n>0){g(n);System.out.println();f(n-1);}}privatestaticvoidg(intn){if(n>0

java - 定义轮廓是否闭合

我需要一种方法来定义轮廓是代表直线还是闭合形状。在Java中,我有一个对象Shape,它包含再次将其定义为单独对象的所有点。对象Point表示点的坐标。我尝试用递归解析形状,但对于更大的形状,超过150个点,性能非常差。我附上了一张我想要解析的形状的图片,以帮助更好地理解这个问题。我正在放一张图片以便更好地可视化问题。这只是展示了我得到的所有形状。我只想显示两个关闭的。提前致谢。瓦西尔·科塞夫 最佳答案 第一个想法:使用合适的contourtracingalgorithm得到一个有序的轮廓。如果你的轮廓是闭合的,你最终会回到第一点。

java - 查找加起来等于给定字符串的所有子字符串组合

我正在尝试创建一个数据结构来保存所有可能的子字符串组合,这些组合加起来就是原始字符串。例如,如果字符串是"java",则有效结果将是"j"、"ava"、"ja"、"v"、"a",无效结果将是"ja"、"a"或"a"、"jav"我很容易找到所有可能的子串Stringstring="java";Listsubstrings=newArrayList();for(intc=0;c现在我正在尝试构建一个只包含有效子字符串的结构。但这并不容易。我在一个非常丑陋的代码的迷雾中,摆弄着索引,并且没有完成的地方,很可能完全走错了路。有什么提示吗? 最佳答案

java - 递归运行时实现 Java 与其他/功能语言?

我喜欢递归,但在Java中,您有时会遇到死胡同。例如。我有一个案例,其中~100K迭代的递归不起作用(StackOverflowError)。糟糕的是,由于这个运行时堆栈限制的原因,我不得不切换到烦人的“命令式循环”。我想知道其他(尤其是函数式)语言如何在运行时绕过堆栈溢出?我想特别是函数式语言运行时可以更好地处理这个问题,因为递归是核心概念......有人有一些信息或外部资源吗? 最佳答案 大多数语言都针对tailrecursion进行了编译器优化.尾递归意味着递归调用应该是递归方法的最后一次调用。然后编译器可以将其优化为一个循环

java - 递归打印对象详细信息

如何递归打印对象的内容? 最佳答案 您可以通过覆盖toString来递归打印它在你所有的类(class)中。如果你想要一个类似printObjectRecursively(Objecto)的方法您需要深入研究反射,获取字段,使用printObjectRecursively(someField)递归地打印它们的名称和内容.例子:publicclassTest{publicstaticvoidmain(String[]args){Aa=newA();System.out.println(a);}}classA{inti=5;Bobj=n

java - 在 JSP 页面上显示树

我需要在JSP页面上显示树。我怎样才能做到这一点?我有以下对象:publicclassNode{privateLongid;privateLongparentId;privateStringname;privateListchildren;//Getters&setters} 最佳答案 用jsp递归滚动你自己的在Controller.javaNoderoot=getTreeRootNode();request.setAttribute("node",root);在main.jsp页面在node.jsp基于http://web.arc

java - 递归与堆栈实现。为什么递归返回 StackOverflow 而 Stack 不返回?

本题依据:我将在今年夏天毕业并获得CS学位,而且教授从未强调过Stack的重要性。然而,我有多个项目都专注于递归的使用。我发现递归很有用且令人兴奋,并且在我的个人项目中经常使用它。我最近去参加了一次工作面试,面试官对他们问题的递归解决方案感到非常失望。他们想要Stack解决方案。我做了很多研究,但我仍然不确定何时使用哪个。给出以下演示:publicclassTestCode{staticlongstartTime=0;staticlongstopTime=0;staticlongtotalTime=0;publicstaticvoidmain(String[]args)throwsIO

java - 获取字段的值,给定层次路径

我有一个包含子属性的对象,它也有子属性等等。我基本上需要找到检索对象上特定字段值的最佳方法,因为它是作为字符串的完整层次路径。例如,如果对象具有字段company(Object),字段client(Object)具有字段id(String),则此路径将表示为company.client.id。因此,给定我试图获取对象值的字段的路径,我将如何执行此操作?干杯。 最佳答案 您可以使用ApacheCommonsBeanUtilsPropertyUtilsBean。使用示例:PropertyUtilsBeanpub=newPropertyU

java - 递归替换所有java

这个问题在这里已经有了答案:Regextoreplacerepeatedcharacters(2个答案)关闭6年前。我试图用Java替换字符串中所有重复的字符,并且只替换一个字符。例如:aaaaa--->a为此,我尝试使用replaceAll方法:"aaaaa".replaceAll("a*","a")//returns"aa"我开发了一种递归方法,它可能不是很有效:publicStringrecursiveReplaceAll(Stringoriginal,Stringregex,Stringreplacement){if(original.equals(original.repla