小编set*_*ere的帖子

在java中实现DAG的不同方法

我正在实现DAG,并想知道以下是否是用Java表示它的唯一方法:

class Node{
List<Node> parents;
List<Node> successors;
int value; }

class DAG{
Node root; // assuming only one root exists
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找更简单的东西,没有两个父母和孩子的名单.
可能吗?此外,我有一个问题,如果我到达一个特定的节点x,并希望从x到根节点的路径,我怎么能找到它而不经过所有父节点设置?

java graph directed-acyclic-graphs data-structures

7
推荐指数
1
解决办法
1万
查看次数

N-queens问题和Backtracking~如何表示节点?

我正在尝试构建一个库来解决不同的约束问题.我首先尝试了4皇后问题,我无法弄清楚我如何能代表节点.我的意思是我可以在没有任何树类(通过维数组)的情况下完成它,但我想将其表示为树结构问题.

树的深度总是<= 4

这是我的代码:

class Node {
  Node []next ;
  int value;
  int depth;
  String name;
  Node(){
      next=null;
      value=0;
      depth=0;
      name=null;
  }
  Node(int value,int depth,String name){
      this.value=value;
      //this.next=child;
      this.depth=depth;
      this.name=name;
  }

class Tree{ Node root; Stack stack; String[] vars={"Q1","Q2","Q3","Q4"}; int[] domain={1,2,3,4}; int count=0; Tree(){ root=new Node(); stack=new Stack();

}
Run Code Online (Sandbox Code Playgroud)

void start(){stack.push(root); 计数++; 搜索(stack.pop(),0); }

boolean consistent(节点当前){boolean flag = true; int n = current.getDepth(); //需要更多的回归旗帜; }

private void search(Node current,int num) { if(num==3&&consistent(current)){ System.out.println("solution !"); num=0; } else{ if(consistent(current)){ Node child[]=new …
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
1878
查看次数

将几次运行的控制台输出写入文本文件

我的问题与有关.但是,我正在寻找一种方法来将文本文件追加到几次运行.有没有办法将控制台输出写入文本文件而不删除旧的运行信息?我正在研究30多个课程,改变System.out.println陈述会很乏味,所以我更喜欢坚持使用System.setOut解决方案.

我有以下基于@Mac答案的代码

   PrintStream out = new PrintStream(new FileOutputStream("aa.txt"),true);
   System.setOut(out);
Run Code Online (Sandbox Code Playgroud)

但文件aa.txt没有附加结果,我在这里遗漏了什么?

java

0
推荐指数
1
解决办法
217
查看次数