草庐IT

非递归

全部标签

java - 递归 Karatsuba 乘法不起作用?

我正在尝试实现Karatsubamultiplication通过递归调用。下面的代码应该可以工作,但我总是得到错误的答案。有什么想法吗?publicstaticlongkaratsuba(longx,longy){//basecase:if(x下面是一些测试用例:1)karatsuba(1234,5678)>>>6952652*应该是70066522)karatsuba(4589,7831)>>>34649459*应该是359364593)karatsuba(911,482)>>>44722*应该是472842 最佳答案 您的方法有

Java:主类中的递归调用子类方法而不是它自己的方法

例子:classMainClass{publicdoIt(){...elsedoIt();}}classSubClassextendsMainClass{@OverridepublicdoIt(){super.doIt();...}}现在的问题是:我调用SubClass.doIt()MainClass.doIt()被调用MainClass.doIt()进行递归调用doIt()但是:调用SubClass.doIt()而不是MainClass.doIt()这是非常奇怪的行为,问题是程序化的!我试图用this.doIt()调用递归,但这没有帮助。有人有想法吗?非常感谢您的回答,这个问题已经解

java - 如何将递归转换为迭代?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion这个问题被问过几次,但我仍然发现很难将易于阅读和直观的代码转换为迭代代码。例如,我正在练习一个编码问题,我得到26个整数,表示每个字符在字符串中出现的次数。我应该打印所有可能的字符串。以下是我的递归代码privatestaticvoidcombinatorial(Stringprefix,ArrayListremainingToFill,inttotalLength){if(prefix.length()

java - Spring Data JPA - 具有无限递归的双向关系

首先,这是我的实体。播放器:@Entity@JsonIdentityInfo(generator=ObjectIdGenerators.UUIDGenerator.class,property="id")publicclassPlayer{//otherfields@ManyToOne@JoinColumn(name="pla_fk_n_teamId")privateTeamteam;//methods}团队:@Entity@JsonIdentityInfo(generator=ObjectIdGenerators.UUIDGenerator.class,property="id")p

【算法】递归

一.基本概念1.什么是递归?函数自己调用自己,主问题由相同的子问题组成,子问题又由相同的子问题组成。2.如何理解递归?不要在意递归的细节展开图,把递归的函数当成一个黑盒,相信这个黑盒一定能完成这个任务。eg:二叉树的遍历,归并排序,快排3.方法论1.先找到相同的子问题(确定函数头,参数返回类型)2.只关心某一个子问题是怎么解决(确定主函数体)3.确定函数终止条件(确定递归出口)二.汉诺塔问题思路:两个盘子时,假设有abc三个柱子,把a移到c,盘子设为12从上到下升序排列。先把1移到辅助柱子b,再把2移到c,最后把1移到c。三个盘子时,先处理上面两个,用同样的方法,假设从上到下123,目标是把1

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 中的递归泛型定义和 Stackoverflow

我正在为某个研究项目编写确定性有限自动机的实现,并且有一些弧导致相同的状态。我为State写了这个类,但是我想知道为什么代码会产生Stackoverflow:publicclassStateextendsHashMap>{publicstaticvoidmain(String[]args){Statet=newState();t.addTransition('a',t);t.addTransition('b',t);}publicvoidaddTransition(Charactersymbol,Statet){if(!this.containsKey(symbol)){this.pu

Java:嵌套递归泛型

我有一组扩展一些基本实体的类。该集合中的类也可以相互扩展,创建嵌套层次结构。我的目标是让所有类都可以访问创建自身新实例的方法。我想在我的基本实体中实现这个方法,以便所有扩展类都继承它。下面是为我的模式定义的三个示例类:BaseEntity.javapublicabstractclassBaseEntity{Classclazz;publicBaseEntity(Classclazz){this.clazz=clazz;}publicEgetNewInstance()throwsIllegalAccessException,InstantiationException{returncla

递归下降解析器易于解释

有人可以简单地解释我什么是递归血统解析器?我被困在试图得到它。真的很模糊地解释了维基百科.递归血统解析器是一种自上而下的解析器,作为一组递归程序,每个递归程序都实施了语法的生产规则。那么,我能正确吗?解析器是一个程序,该程序以预定义的顺序执行命令,每次执行时的命令具有相同的含义,但是根据输入,它以某种方式调整输出已更改。而且我仍然没有得到为什么在这里使用递归一词的原因。看答案首先,一堆术语。一个解析器是可以根据某些语法检查文本输入是否在语法上正确的软件。解析器还可能将文本输入转换为另一个更容易使用其他软件的表示。一个语法是语言语法的定义。一个语是所有句法正确的“句子”的(可能是无限的)集。句子