草庐IT

RECURSION

全部标签

java - 在类 Test 中实例化类 Test 的成员是递归吗?

这是递归吗?publicclassTest{Testtest=newTest();publicstaticvoidmain(String[]args){newTest();}}关于instanceinitalizer的版本呢??publicclassTest{{Testtest=newTest();}publicstaticvoidmain(String[]args){newTest();}}我在问,因为我更新了myoldanswer,它展示了如何在没有递归的情况下生成StackOverflowError,但现在我不能100%确定上面的代码是否是递归的。 最

java - ruby 与 Java : Why world is going to end faster with Java?

我用HonoiTower的经典例子测试了递归方法的执行速度.首先在Java中比JRuby与Ruby不同没有。盘子数:packagecom.example;publicclassHanoi{publicstaticvoidmain(String[]args){int[]plates={25,26,27,28,29,30,31,32};for(inti=0;i结果是:Java(millis)JRuby(sec)Ruby(sec)Ruby(sec)Ruby(sec)java7jruby-1.7.9jruby-1.7.9ruby-2.1.3ruby-2.1.3{tailcall_optimiz

java - 使用递归绘制树

我正在尝试使用递归绘制一棵树。树需要看起来像这样:关于我应该如何做的简短总结:树干的长度为length,宽度为width树干分成两个Twig左边的是躯干长度的3/4,右边的是躯干长度的2/3左枝宽度为树干宽度的3/4,右枝宽度为树干宽度的1/2我们收到的参数是长度、最小长度、宽度、alpha(所有double)Twig生长直到Twig长于最小长度这是我解决问题的方法。我只想画树干,左分支和右分支。我设法做到了这一点,具有以下功能:publicvoiddrawTree(doublelength,doublemin_length,doublewidth,doublealpha){//Dra

java - 在链表末尾插入节点

对于这类问题,有一个简单的迭代解决方案。NodeInsert(Nodehead,intdata){NodenewNode=newNode();newNode.data=data;if(head==null){returnnewNode;}Nodecurrent=head;while(current.next!=null){current=current.next;}current.next=newNode;returnhead;}它工作得很好。但我想学习递归并以这种视角看待事物。因此我想出了下面的解决方案,它看起来很优雅,但我不得不承认这只是直觉并且给定的代码有效。我想开发一个处理递归

用于嵌套 ZIP 文件处理的 Java 实用程序库

我知道Oracle注意到ZIP/GZIP文件压缩器/解压缩器方法ontheirwebsite.但是我有一个场景,我需要扫描并找出是否涉及任何嵌套的ZIP/RAR。例如下面的情况:-MyFiles.zip-MyNestedFiles.zip-MyMoreNestedFiles.zip-MoreProbably.zip-Other_non_zips-Other_non_zips-Other_non_zips我知道apachecommons压缩包和java.util.zip是广泛使用的包,其中commons压缩实际上迎合了java.util.zip中缺少的功能,例如一些字符设置,同时做zip

java - 数独解法

我的数独解法有问题。该程序是这样工作的;开始时棋盘是空的,用户在棋盘上添加几个数字,然后点击“求解”按钮,程序会尝试求解。除了将相同的数字放在同一行之外,一切正常。因此,如果用户添加1,1,0,0...0。在拼图中,它无法解决它,因为它的两个1彼此相邻,并且将永远继续尝试找到一个sulotion,即使它无法解决谜。但是,如果它们都是0(空),它会立即解决它,就像我将1和2放在左上角一样。如果我只是在其中放入一些随机数,它将检测到它无法解决(或者如果它是一个有效的谜题,它将解决它)我在想这句话,当theNumber==(row,col)等于thenNumber==(row+1,col)时

java - Horner 的小数部分递归算法 - Java

我正在尝试创建一种递归方法,该方法使用Horner算法将以n为底的小数转换为以10为底的小数。我在这里和所有地方都进行了搜索,但找不到任何地方详细处理小数部分。提醒一下,我在递归方面很弱,因为我还没有在我的编程课上正式学习它,但已经被另一个类(class)分配了。我能够创建一个方法来处理数字的整数部分,而不是小数部分。我觉得我写的方法相当接近,因为它让我的测试数字的答案加倍(可能是因为我正在测试基数2)。传递的第一个参数是一个填充有系数的int数组。我不太关心系数的顺序,因为我正在使所有系数相同以对其进行测试。第二个参数是基础。第三个参数初始化为系数数减1,我也将其用于整数部分方法。我

java - Java中如何获取两个n维数组的和?

在Java中添加两个n维数组添加vectorJava中的两个一维数组/vector可以这样相加:publicstaticint[]addVectors(int[]a,int[]b){int[]c=newint[a.length];for(inti=0;i添加矩阵Java中两个二维数组/矩阵可以这样相加:publicstaticint[][]addMatrices(int[][]a,int[][]b){int[][]c=newint[a.length][a[0].length];for(inti=0;i这两个函数都要求数组的大小相同,以避免arrayOutOfBoundsExceptio

java - 优化 Leaper Graph 算法?

在与Google进行的45分钟技术面试中,我被问到LeaperGraph问题。我写了工作代码,但后来因为缺乏数据结构知识而被拒绝了工作机会。我想知道我可以做得更好。问题如下:“给定一个N大小的棋盘,并告诉棋子可以水平跳跃i个位置(向左或向右)并垂直跳跃j个位置(向上或向下)(即,有点像国际象棋中的马),跳跃者能否到达棋盘上的每个位置董事会?”我写了下面的算法。它通过标记图表上所有被访问过的点来递归地找出板上的每个位置是否都可以到达。如果无法访问,则至少有一个字段为false,函数将返回false。staticbooleanreachable(inti,intj,intn){boolea

java - Java 中的这段递归 lambda 调用是如何工作的

我最近在Java中看到了这段代码。它涉及函数和打印斐波那契数,并且有效。publicclassAppLambdaSubstitution{publicstaticFunctionY(Function,Function>f){returnx->f.apply(Y(f)).apply(x);}publicstaticvoidmain(String[]args){Functionfib=Y(func->x->{if(x让我感到困惑的部分是returnx->f.apply(Y(f)).apply(x);。Y(f)不是递归调用Y方法吗?我们一直使用函数f作为参数调用它。对我来说,这个递归调用没有