成都创新互联网站制作重庆分公司

java代码求树的子代数 java求所有子集

java一个关于二叉树的简单编程题

定义一个结点类:

10年积累的网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有大柴旦免费网站建设让你可以放心的选择与我们合作。

public class Node {

private int value;

private Node leftNode;

private Node rightNode;

public Node getRightNode() {

return rightNode;

}

public void setRightNode(Node rightNode) {

this.rightNode = rightNode;

}

public int getValue() {

return value;

}

public void setValue(int value) {

this.value = value;

}

public Node getLeftNode() {

return leftNode;

}

public void setLeftNode(Node leftNode) {

this.leftNode = leftNode;

}

}

初始化结点树:

public void initNodeTree()

{

int nodeNumber;

HashMapString, Integer map = new HashMapString, Integer();

Node nodeTree = new Node();

Scanner reader = new Scanner(System.in);

nodeNumber = reader.nextInt();

for(int i = 0; i nodeNumber; i++) {

int value = reader.nextInt();

String str = reader.next();

map.put(str, value);

}

if (map.containsKey("#")) {

int value = map.get("#");

nodeTree.setValue(value);

setChildNode(map, value, nodeTree);

}

preTraversal(nodeTree);

}

private void setChildNode(HashMapString, Integer map, int nodeValue, Node parentNode) {

int value = 0;

if (map.containsKey("L" + nodeValue)) {

value = map.get("L" + nodeValue);

Node leftNode = new Node();

leftNode.setValue(value);

parentNode.setLeftNode(leftNode);

setChildNode(map, value, leftNode);

}

if (map.containsKey("R" + nodeValue)) {

value = map.get("R" + nodeValue);

Node rightNode = new Node();

rightNode.setValue(value);

parentNode.setRightNode(rightNode);

setChildNode(map, value, rightNode);

}

}

前序遍历该结点树:

public void preTraversal(Node nodeTree) {

if (nodeTree != null) {

System.out.print(nodeTree.getValue() + "\t");

preTraversal(nodeTree.getLeftNode());

preTraversal(nodeTree.getRightNode());

}

}

java代码怎样查出树形结构的某个节点的所有子孙节点?要算法实现!!

这样的用简单的判断就行了 :先判断PID为空的,这个是父节点,然后取出PID为空的Id当做取其子节点的父节点,一次判断就行了,结合列子:取PID为空的ID即1,2,然后把取PId等于1和2的ID即345和6然后分别挂在1和2下,345就是1的子节点,6是2的子节点,有多节点的一次类推(这只是其中一个简单的方法)

java 目录树如何检索子级返回

Java中使用递归算法实现查找树形结构中所有父级和子级节点,用递归加一个全局变量标记是否已经找到,然后返回。

截取后面的一段例子:

if (list[i].ID.Equals(id) || found)

found = true;

return;

拓展资料

递归查询子级节点

1.一个节点可能有多个子级节点,每个自己节点可能还有更多的子级节点。

2.所以递归时的参数用一个list来接受,首先遍历参数list,分别查询pid为参数id的对象。

3.每一个参数id所查询返回的数据是一个对象的list。

4.遍历list获取符合条件的对象的id值,一份存到temp中用作递归的参数,并存到全局变量中用来获取所有符合条件的id。


名称栏目:java代码求树的子代数 java求所有子集
URL网址:http://cxhlcq.com/article/dosiojh.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部