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

java 实现递归实现tree(2)

import com.google.common.collect.Lists; import org.springframework.cglib.beans.BeanCopier;import java.util.*; import java.util.stream.Collectors; public class tset {private static Map<String, List<String>> map = new HashMap<>();static {map.put("2", Lists.newArrayList("A", "B", "C"));map.put("3", Lists.newArrayList("D", "E", "F"));map.put("4", Lists.newArrayList("G", "H", "I"));map.put("5", Lists.n...

java try-catch-finally递归问题【代码】

public class Foo {public static void main(String[] args) {foo();}public static void foo() {try {System.out.println("try");foo();} catch (Throwable e) {System.out.println("catch");foo();} finally {System.out.println("finally");foo();}} }谁能解释一下这段代码的输出? 1.在eclipse(无尽)客户端模式下输出:trytry..........tryfinallyfinallytryfinallyfinallytrytrytrytryfinallyfinallytryfinallyfinallytrytryf...

java – 递归泛型【代码】

有没有办法使这个方法适当通用并取消警告?/*** <p>Sort a collection by a certain "value" in its entries. This value is retrieved using* the given <code>valueFunction</code> which takes an entry as argument and returns* its value.</p>* * <p>Example:</p>* <pre>// sort tiles by number*Collects.sortByValue(tileList, true, new Function<Integer,NormalTile>() {* public Integer call(NormalTile t) {* r...

java – 递归地从扫描仪输入反转数字_order_【代码】

我在尝试解决递归任务时遇到了麻烦,但没有成功. 分配的目标是调用函数reverseNumbers(new Scanner("11 23 31 49 56 611"))并获得输出"611 56 49 31 23 11"虽然不允许使用数组,列表,字符串和方法应该只声明一个变量. 我写的代码不起作用.我收到了StackOverflow错误,我理解为什么会这样.这是因为参数扫描不会改变,并且必须使递归起作用.但是,我不知道如何使用Scanner实用程序中提供的工具更改输入参数.public static String reverseN...

java – 具有嵌套for循环的递归算法的Big-O时间复杂度【代码】

我有一个带有两个嵌套for循环的递归算法.我想弄清楚Big-O的时间复杂度是多少.public Set<Person> getDistinctCombinedPersons(Collection<Person> persons) {return permutatePersons(new ArrayList(persons), new HashSet<>(persons)); }private Set<Person> permutatePersons(List<Person> personList, Set<Person> personSet) {if(personList.isEmpty() {return personSet;}Set<Person> deepCopyPersonSet = new HashSet<>(pers...

有效地在Java中生成“资源管理器树”(不使用递归)【代码】

我有一个可能与语言无关的问题,但对于这个特定的实现,我使用的是Java.列出目录中的文件夹是可能且相对简单的 – 使用如下函数:private DefaultMutableTreeNode GenerateFSTree(File f) {int i = 0;File[] Children = f.listFiles();DefaultMutableTreeNode x = new DefaultMutableTreeNode(f.getName());if ( Children != null ){for ( i = 0; i < Children.length; i++ ){File f_cur = Children[i];if (f_cur.isDirectory() && (...

递归:二叉树的建立及前序中序后序--JAVA

/*** 实现二叉树的创建、前序遍历、中序遍历和后序遍历**/package DataStructure;/*** Copyright 2014 by Ruiqin Sun* All right reserved* created on 2014-9-9 下午2:34:15**/public class BinTreeInt {private Node root;/*** 创建内部节点类**/private class Node{// 左节点private Node leftChild;// 右节点private Node rightChild;// 节点对应的值private int data;public Node(int data){this.leftChild = null;this.r...

在我的简单测试中,Java在递归算法速度比较上击败了C.【代码】

使用这种分而治之算法(Programming Pearls p80)来查找在阵列的任何连续子向量中找到的最大总和,Java程序比在Win7 x64上测试的具有8GB RAM的C对应物更快. Java和C都在1个CPU内核上运行. 在JVM上进行了哪些优化才能实现这一目标? 使用JVM 1: Java版“1.6.0_21”Java(TM)SE运行时环境(版本1.6.0_21-b07)Java HotSpot(TM)64位服务器VM(内置17.0-b17,混合模式)VM参数-Xmx12000m JVM 2使用:JRockit的-jdk1.6.0_24,R28.1.3-4.0.1VM参数...

java – 以递归方式从String中删除重复的字符【代码】

我需要帮助来确定如何从字符串中删除重复字符.它必须以递归方式完成,这才是真正的问题.public class FEQ2 {/*** @param args*/public static void removeDups(String s, int firstChar, int secondChar) { if (s.length() == 1) { System.out.println(s);} char a = s.charAt(firstChar);if (a == s.charAt(secondChar)) {s = a + s.substring(secondChar + 1);}System.out.println(s);removeDups(s, firstChar + 1,...

java – 递归调用的数量【代码】

如何更改算法以进一步显示递归调用的数量?public class fibb {static long fibonacci(long n){if (n == 0)return 0;else if (n == 1)return 1;elsereturn fibonacci(n - 1) + fibonacci(n - 2);}public static void main(String[] args){System.out.println(fibonacci(14));} }解决方法:您可以使用静态变量来保持递归调用的计数.public class fibb {public static int count;static long fibonacci(long n){count++;if (n == 0)re...

Java复杂性的两种递归方法【代码】

public static String rec1 (String s) {int n = s.length()/2; return n==0 ? s : rec1(s.substring(n)) + rec1(s.substring(0,n)); }public static String rec2 (String s) {return s.length()<=1 ? s : rec2(s.substring(1)) + s.charAt(0); }为什么rec2的复杂性大于rec1? 我已经对每个迭代进行了10.000次迭代,并使用System.nanoTime()测量执行时间,结果如下:rec1: Stringlength: 200 Avgtime: 19912ns Recursive calls: 3...

java – 递归调用方法【代码】

我无法绕过递归,更具体地说是我的教科书中提供的语法.它看起来像这样:public int sum (int num) {int result;if (num == 1)result =1;elseresult = num +sum(num -1);return result; }我特意把这条线弄糊涂了:result = num + sum(num - 1);不断绊倒的部分是每次在任何其他程序中,我们从两种方式之一调用方法.方法是静态方法,并通过类名称后跟句点调用,后跟方法名称. (例如:Math.random();)或者,该方法已通过对象引用变量调用,该...

如何使用limit = n的递归java打印奇数【代码】

我是编程语言的新手. 我有以下代码import javax.swing.*;public class oddTest{public static void odd(int a){if (a < 0){if (a % 2 != 0){a++;}}odd(--a); }public static void main(String[] args){int n = 0;String str = JOptionPane.showInputDialog(null, "make the limits = ");n = Integer.parseInt(str);odd(n);JOptionPane.showInputDialog(n); } }如果我使限制为7,输出应为:the output : 1, 3, 5, 7 解决方法: import...

Java递归问题【代码】

我在Java中有一个递归面试问题,需要你的帮助. 编写一个** Java函数**,使得::给定一个整数数组,是否可以将整数分成两组,这样两组的总和是相同的,具有这些约束:所有的值都是5的倍数必须在一个组中,并且所有3的倍数(而不是5的倍数)必须在另一个组中. (不需要循环.) split53({1,1})→truesplit53({1,1,1})→falsesplit53({2,4,2})→true PS:这是hewlett packard的采访问题解决方法:这个问题很容易简化为:给定一组整数和整数目标,是否...

Java中的垃圾收集与递归函数【代码】

我知道在常规循环的每次迭代中,对象变得无法访问并标记为垃圾收集.那么递归调用呢?就像是:public void doWork() {Object a = new Object();....some work with a...this.sleep(60000);doWork();}一旦第二次递归开始,第一次递归中的对象(即“a”)是否标记为垃圾收集,或者是否需要将其显式标记为null,因为外部函数由于递归而永远不会完成.解决方法:在每次递归调用期间,局部变量(这里是引用“a”)被压入堆栈.局部变量是GC根.在第二次...

递归查询 - 相关标签