在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

java怎么实现简单的二叉树

131次阅读
没有评论

共计 1568 个字符,预计需要花费 4 分钟才能阅读完成。

要在 Java 中实现简单的二叉树,你可以创建一个名为 BinaryTree 的类,其中包含一个名为 Node 的内部类,表示二叉树的节点。

public class BinaryTree {private Node root;
    
    private class Node {private int data;
        private Node left;
        private Node right;
        
        public Node(int data) {this.data = data;
            this.left = null;
            this.right = null;
        }
    }
    
    public BinaryTree() {root = null;
    }
    
    public void insert(int data) {root = insert(root, data);
    }
    
    private Node insert(Node node, int data) {if (node == null) {node = new Node(data);
        } else {if (data <= node.data) {node.left = insert(node.left, data);
            } else {node.right = insert(node.right, data);
            }
        }
        return node;
    }
    
    public boolean search(int data) {return search(root, data);
    }
    
    private boolean search(Node node, int data) {if (node == null) {return false;
        }
        if (data == node.data) {return true;
        } else if (data < node.data) {return search(node.left, data);
        } else {return search(node.right, data);
        }
    }
    
    public void inorderTraversal() {inorderTraversal(root);
    }
    
    private void inorderTraversal(Node node) {if (node != null) {inorderTraversal(node.left);
            System.out.print(node.data + " ");
            inorderTraversal(node.right);
        }
    }
    
    public static void main(String[] args) {BinaryTree tree = new BinaryTree();
        tree.insert(10);
        tree.insert(5);
        tree.insert(15);
        tree.insert(3);
        tree.insert(7);
        
        System.out.println("Inorder traversal:");
        tree.inorderTraversal();
        
        int searchData = 7;
        System.out.println("\nIs " + searchData + " present in the tree? " + tree.search(searchData));
    }
}

在上面的代码中,我们使用一个内部类 Node 来表示二叉树的节点。它有一个整数类型的 data 成员变量,以及 left 和 right 节点的引用。

BinaryTree 类有一个根节点 root,默认为 null。它包含以下方法:

  • insert(int data):将给定的数据插入到二叉树中。
  • search(int data):在二叉树中搜索给定的数据,如果找到则返回 true,否则返回 false。
  • inorderTraversal():以中序遍历的方式打印二叉树中的节点数据。

在 main 方法中,我们创建一个二叉树并插入一些数据。然后,我们使用 inorderTraversal 方法打印二叉树的节点数据,并使用 search 方法搜索给定的数据。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-12发表,共计1568字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 青草小视频 | 欧美久久综合九色综合 | 亚洲欧美日韩综合久久 | 成人国内精品久久久久一区 | 久99频这里只精品23热 视频 | 欧美成人一级毛片 | 国产在线精品一区二区中文 | 四虎影视在线观看永久地址 | 妇女性内射冈站hdwwwooo | 日本一区二区三区有限公司 | 一级国产 | 国产午夜精品鲁丝片 | 亚洲自偷自偷图片 | 在线观看国产精品电影 | 成人在线一区二区三区 | www夜片内射视频日韩精品成人 | 国产在线成人a | 欧美一a级淫片免费视频 | 成人福利网站在线看视频 | 欧美交换配乱吟粗大 | 又爆又大又粗又硬又黄的a片 | 精品亚洲成a人在线观看 | 国产日韩欧美在线一区二区三区 | 欧美xxx午夜免费视频 | 国产高清成人吃奶成免费视频 | 亚洲一区二区三区日本久久九 | 久久亚洲网站 | 插插无码视频大全不卡网站 | 成人毛片全部免费观看 | 在线 | 18精品免费1区2 | av人摸人人人澡人人超碰下载 | 久久国产精品久久国产片 | 国产精品香蕉成人网在线观看 | 日韩中文字幕一区二区不卡 | 一级特黄一欧美俄罗斯毛片 | 亚洲国产成人久久精品动漫 | 欧美精品免费一区欧美久久优播 | 国产欧美日韩另类 | 色欲久久久天天天综合网 | 亚洲va久久久久 | 日本一级毛片大片免费 |