在二叉树中搜索某个元素

[!Tip]

本节源代码见Github链接🔗


问题描述

在二叉树中搜索某个元素,如果发现树中某个结点的数值与给定的数据相同,则返回true。


核心思路

递归遍历二叉树,比较各个结点的值


实现代码

【👉🏻>>点击展开查看代码】
        
        /**  
         * 在二叉树中搜索某个元素  
         *  
         * @className: FindInBinaryTreeUsingRecursion  
         * @author: Max Solider  
         * @date: 2023-06-11 15:37  
         */public class FindInBinaryTreeUsingRecursion {  

            public static BinaryTreeNode findInBinaryTreeUsingRecursion(BinaryTreeNode root, int k) {  
                if (root == null) {  
                    return null;  
                }  
                if (root.getData() == k) {  
                    return root;  
                }  
                BinaryTreeNode result = findInBinaryTreeUsingRecursion(root.getLeft(), k);  
                if (result != null) {  
                    return result;  
                }  
                result = findInBinaryTreeUsingRecursion(root.getRight(), k);  
                if (result != null) {  
                    return result;  
                }  
                return null;  
            }  

            public static void main(String[] args) {  
                BinaryTreeNode node4 = new BinaryTreeNode(4, null, null);  
                BinaryTreeNode node5 = new BinaryTreeNode(5, null, null);  
                BinaryTreeNode node6 = new BinaryTreeNode(6, null, null);  
                BinaryTreeNode node7 = new BinaryTreeNode(7, null, null);  
                BinaryTreeNode node2 = new BinaryTreeNode(2, node4, node5);  
                BinaryTreeNode node3 = new BinaryTreeNode(3, node6, node7);  
                BinaryTreeNode node1 = new BinaryTreeNode(1, node2, node3);  
                System.out.println(findInBinaryTreeUsingRecursion(node1, 10));  
                System.out.println(findInBinaryTreeUsingRecursion(node1, 5));  
            }  
        }
        
    

时间复杂度

时间复杂度为O(n)


空间复杂度

空间复杂度为O(n)


© MaxSolider all right reserved,powered by Gitbook文件修订时间: 2023-06-11 15:40:40

results matching ""

    No results matching ""