中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

怎么用java遞歸查詢樹形結構

小億
144
2023-11-04 15:11:10
欄目: 編程語言

要使用Java遞歸查詢樹形結構,首先需要定義樹的節點類,包含節點的值和子節點列表。然后,編寫遞歸查詢的方法。

以下是一個示例代碼:

class TreeNode {
    int value;
    List<TreeNode> children;

    public TreeNode(int value) {
        this.value = value;
        this.children = new ArrayList<>();
    }
}

class Tree {
    TreeNode root;

    public Tree(TreeNode root) {
        this.root = root;
    }

    // 遞歸查詢樹中是否包含指定值的節點
    public boolean containsValue(TreeNode node, int value) {
        if (node.value == value) {
            return true;
        }
        
        for (TreeNode child : node.children) {
            if (containsValue(child, value)) {
                return true;
            }
        }
        
        return false;
    }
}

public class Main {
    public static void main(String[] args) {
        TreeNode node1 = new TreeNode(1);
        TreeNode node2 = new TreeNode(2);
        TreeNode node3 = new TreeNode(3);
        TreeNode node4 = new TreeNode(4);
        TreeNode node5 = new TreeNode(5);
        
        node1.children.add(node2);
        node1.children.add(node3);
        node2.children.add(node4);
        node3.children.add(node5);
        
        Tree tree = new Tree(node1);
        
        System.out.println(tree.containsValue(tree.root, 3)); // 輸出:true
        System.out.println(tree.containsValue(tree.root, 6)); // 輸出:false
    }
}

在上面的示例中,首先定義了一個TreeNode類,表示樹的節點。Tree類表示整個樹結構,并包含了一個遞歸查詢方法containsValue,用于在樹中查找是否包含指定值的節點。

main方法中,創建了一個包含多個節點的樹,并進行了查詢操作。輸出結果為true表示樹中包含指定值的節點,輸出結果為false表示樹中不包含指定值的節點。

0
墨竹工卡县| 彭山县| 包头市| 巴彦县| 江川县| 雷波县| 仲巴县| 东方市| 昭平县| 上犹县| 凉山| 绵阳市| 隆昌县| 临清市| 汽车| 鄱阳县| 岚皋县| 吉水县| 峡江县| 长宁区| 石首市| 九寨沟县| 城固县| 双鸭山市| 清远市| 修文县| 邵阳市| 姚安县| 铜梁县| 自贡市| 湘潭市| 新巴尔虎右旗| 茌平县| 池州市| 鄂托克前旗| 鄱阳县| 绍兴市| 观塘区| 平阴县| 区。| 鞍山市|