【JAVA递归查询与反向递归】教程文章相关的互联网学习教程文章

java实现折半查找(递归和非递归方式)【代码】【图】

/*** 使用条件:* 1、折半查找必须采用顺序存储结果* 2、关键字必须有序*/ public class TestBinarySearch {public static void main(String[] args) {//定义一个数组int[] arr = {11,21,31,41,51,61,71,81,91};System.out.println("非递归实现:"+binarySearch(arr,61));System.out.println("递归实现:"+recursionSearch(arr,0,arr.length - 1,61));}/*** 非递归实现*/static int binarySearch(int[] arr,int key){//定义开始值和...

Java编程用栈来求解汉诺塔问题的代码实例(非递归)_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 【题目】 汉诺塔问题比较经典,这里修改一下游戏规则:现在限制不能从最左侧的塔直接移动到最右侧,也不能从最右侧直接移动到最左侧,而是必须经过中间。求当塔有N层的时候,打印最优移动过程和最优移动总步数。【解答】 上一篇用的是递归的方法解决这个问题,这里我们用栈来模拟汉诺塔的三个塔,也就是不用递归的方法 原理是这样的:修改后的汉诺塔问题不能让任何...

java之递归【代码】

什么是递归 递归:指在当前方法内调用自己的这种现象。 递归的分类:递归分为两种,直接递归和间接递归。 直接递归称为方法自身调用自己。 间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。注意事项:递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。因为:当一个方法调用其他方法的时候,被调用的方法没有执行完毕,当前方法会一直等待调用的方法执行完毕。 在递归中虽然有限定条件,但是递归次...

java-没有递归的雹子序列(请)【代码】

嗨,我对编码非常陌生,并且正在与一位老师一起上入门Java课,希望您已经了解所有知识.我必须编码冰雹序列,它表示为: 选择一些正整数并将其称为n.如果n为偶数,则将其除以2.如果n为奇数,则将其乘以3并加1.继续此过程,直到n等于1. 我们还没有学习过递归或数组,他说我们不需要在此代码中使用它,尽管我不太清楚这意味着什么.我们将展示使用顺序公式得出一个步骤. 这就是我所拥有的,并且存在以下问题: >无法识别奇/偶整数>在执行的步骤中...

java-Arraylist没有在递归中正确更新【代码】

下面是我的函数,它给出给定数组中的元素求和到特定目标的所有可能性.我可以打印列表,但是结果列表没有更新.public List<List<Integer>> helper(List<List<Integer>> res, int[] c, int l, int h, int target, List<Integer> temp){if(target == 0){res.add(temp);System.out.println(temp);return res;}if(target < c[l]){return res; }for(int i = l; i <=h; i++){temp.add(c[i]);res = helper(res, c,i,h,target-c[i], temp);tem...

java-给定2d整数数组,递归找到总和为给定数字的路径【代码】

给定一个二维数组,我需要递归地返回一个矩阵,该矩阵的路径总和为给定的数字. 路径矩阵应为零,但路径的总和等于给定数字,该数字将标记为1. 路径只能在 我已经尝试过所有可能性,首先检查是否已经到下一个区块. 问题是经过一些迭代后,它停止了,并且没有返回并再次将该块清除为0.private static boolean paintPath(int[][] mat, int sum, int[][] path , int i, int j){if(sum<0)return false;path[i][j] = 1;if(sum == 0)return true;...

java-递归导致退出以退出所有JFrame(终止应用程序)【代码】

我制作了一个应用程序,使用户可以选择完全打开该应用程序的新生成.当用户这样做并关闭应用程序时,整个应用程序终止;不只是窗户 我应该如何递归地生成应用程序,然后在用户退出JFrame生成时;杀死那个JFrame,而不是整个实例? 以下是相关代码:[...] JMenuItem newMenuItem = new JMenuItem ("New"); newMenuItem.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) { new MainWindow();}...

java-使用递归对参数进行重新排序(赞成,反对,替代)【代码】

我发现我经常进行递归调用,只是为了对参数重新排序. 例如,这是我针对endOther from codingbat.com的解决方案:Given two strings, return true if either of the strings appears at the very end of the other string, ignoring upper/lower case differences (in other words, the computation should not be “case sensitive”). Note: str.toLowerCase() returns the lowercase version of a string. public boolean endOther...

Java中的递归搜索【代码】

所以我一直在为游戏设计一个程序.我创建了一个小板供用户使用,但是问题是我不知道如何递归检查该单词是否在板上.我希望能够检查输入的单词是否确实在黑板上并且有效.我的意思是,单词的字母必须彼此相邻.对于那些玩过惊奇的人,您会明白我的意思.我要做的就是检查单词是否在板上. 这是我到目前为止所拥有的….import java.io.*; public class boggle {InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br =...

Java递归数学表达式评估

我分配给学校的一个问题确实让我感到困惑.基本上,在课堂上我们正在学习递归.作为家庭作业和相互递归的介绍,我们应该编写一个使用相互递归的数学表达式求值器. getExpressionValue,getTermValue和getFactorValue这三个方法需要相互调用才能获得结果.我们应该支持加,减,乘,除和带括号的表达式.在寻找有关如何执行此操作的想法时,我不断遇到递归下降解析,但是我不确定该想法是否适合此问题. 如果有人可以为我提供指导,或者可能提供指向...

递归FFT Java算法返回null吗?【代码】

我目前正在尝试在Java中实现FFT算法,但遇到了一些麻烦!我已经对该算法的所有其他部分进行了很好的测试,它们似乎运行良好. 我遇到的麻烦是,在基本情况下,它会在基本情况A [0]内返回一个复数数组.执行完基本情况后,将执行for循环,其中y0 [0]和y1 [0]被发现为空,尽管将它们分配给基本情况,对此感到很困惑.这显示在System.out.println行中 谁能告诉我我的方式的错误?//This method implements the recursive FFT algorithm, it assum...

Java继承和递归【代码】

我有一个超类和一个子类,如下所示:class Tree{..public void add(..){//makes a call to protected function add(..) }//for client to use.protected TreeNode add(..){}//recursive function which calls itslef }class Stree extends Tree{//overrides the recursive add function from class Treeprotected TreeNode add(..){..super.add();//calls the non-recursive add function in superclass.} }这里的问题是,当我从子类...

java-具有回溯功能的Sudoku递归【代码】

我正在尝试使用递归回溯算法解决任何给定的数独难题.我的数独求解器有两个问题.首先,它解决了难题,但它会递归备份并在此过程中将其解散(解决约4718次递归,并出于某种原因再进行10000次左右的备份).第二个问题是由于我试图解决此问题.找到解决方案后,我将使用全局矩阵解决方案来保存该解决方案,并使用以下形式的isSolved方法验证是否已找到它:public static boolean isSolved(int[][]puzzle){for(int i = 0; i<9; i++){ //y rotat...

java-使用递归查找所有可能的最长的递增子序列【代码】

我试图使用递归找到所有可能的最长的递增子序列.当我尝试输入数组{10,22,9,33,21,50,41,40,60,55}时,它起作用了,输出为:10 22 33 40 55 / 10 22 33 41 55 / 10 22 33 50 55 / 10 22 33 40 60 / 10 22 33 41 60 / 10 22 33 50 60 /但是当我尝试输入数组{2,-3,4,90,-2,-1,-10,-9,-8}时,得到了输出:-3 4 90 / -3 -2 -1 / -10 -9 -8 /在这种情况下,我得不到2 490.在这种情况下,我应该对代码进行哪些更改才能使其正确?public class M...

java-递归函数和非递归函数返回不同的结果【代码】

我正在创建两个应该模拟并返回f(i)= 1/1 1/2 1/3 … 1 / i结果的函数.一个函数是递归的,我正在通过实现它的非递归版本来测试递归函数是否正常运行.但是,我发现这两个函数都返回的答案并不完全相同.有人可以解释为什么这些函数返回不同的值吗? 当我在它们所属的类的main方法中运行这些函数时,得到以下输出:1000的递归:7.48547841000的非递归:7.4854717递归为1:1.01:1.0的非递归483的递归:6.758268483的非递归:6.758267 这是...

递归查询 - 相关标签