我是靠谱客的博主 个性小熊猫,最近开发中收集的这篇文章主要介绍二叉搜索树的遍历搜索(Java实现),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.二叉搜索树的概念
一棵二叉搜索树是以一棵二叉树来组织的,这样的一棵树可以以链表的数据结构来表示,其中的每个结点就是一个对象。
在这里插入图片描述

2.二叉搜索树结点对象的属性
(1)key(关键字,用于代表整个对象)
(2)基本数据和信息
(3)left、right和p,分别指向结点的左子结点,右子结点,父结点(父节点的使用较少时,可以省略)

 class TreeNode {
   
      int key; //关键字
      TreeNode left; //左节点
      TreeNode right;  //右节点
      TreeNode() {
   }
      TreeNode(int val) {
    this.val = val; }
      TreeNode(int val, TreeNode left, TreeNode right) {
   
          this.val = val;
          this.left = left;
          this.right = right;
      }
  }

3.二叉搜索树的最基本构造规则
对于任何结点node,其左子树的每一个结点的key不能大于node.key,其右子树的每一个结点的key不能小于node.key。这一点构造规则可以引出二叉搜索树的一个性质——如果childNode是node的左子树上的一个结点,则childNode.key<=node.key,同理,如果在右子树上,则childNode.key>=node.key。

4.二叉树搜索的遍历
(1)二叉树的遍历主要有2种方法,分别是BFS广度搜索遍历和DFS深度搜索遍历,其中广度搜索遍历的核心是对于队列这一数据结构的应用;深度搜索遍历有两种方式,一种是通过递归函数的设计进行遍历,另一种是利用栈这一数据结构进行遍历

1>DFS

//递归遍历
 public void search(TreeNode root){
   
        
        if(root==null)
           return;
        search(root.left);
        search(root.right);
    }
  //利用栈进行遍历
  public void search(TreeNode root){
   
     public void search(TreeNode root) {
   
        TreeNode node = root;
        Stack<TreeNode> DFS = new Stack<>();
        while (!DFS.isEmpty() || node != null) {
   
            while (node != null) {
   
                DFS.

最后

以上就是个性小熊猫为你收集整理的二叉搜索树的遍历搜索(Java实现)的全部内容,希望文章能够帮你解决二叉搜索树的遍历搜索(Java实现)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部