二分搜索树的层序遍历,即逐层进行遍历,即将每层的节点存在队列当中,然后进行出队(输出节点)和入队(存入下一层的节点)的操作,以此达到遍历的目的

import java.util.LinkedList;
import java.util.Queue;/*** @author BestQiang*/
public class BST2<E extends Comparable> {// 树的节点类class Node {E e;Node left;Node right;public Node(E e) {this.e = e;this.left = null;this.right = null;}}// 声明树的根节点private Node root;//声明树的大小private int size;public BST2() {this.root = null;this.size = 0;}// 获取二分搜索树的大小public int getSize() {return size;}// 判断二分搜索树是否为空树public boolean isEmpty() {return size == 0;}// 为二分搜索树添加不重复的元素public void add(E e) {root = add(root, e);}private Node add(Node node, E e) {if(node == null) {return new Node(e);}if(e.compareTo(node.e) < 0) {node.left = add(node.left, e);} else {node.right = add(node.right, e);}return node;}// 二分搜索树的层序遍历public void levleOrder() {Queue<Node> q = new LinkedList<>();q.add(root);while(!q.isEmpty()) {Node cur = q.remove();System.out.println(cur.e);if(cur.left != null) {q.add(cur.left);}if(cur.right != null) {q.add(cur.right);}}}public static void main(String[] args) {BST2<Integer> bst = new BST2<>();int[] nums = {5, 3, 6, 8, 4, 2};for(int num: nums)bst.add(num);///      5      ////    /   \    ////   3    6    ////  / \    \   //// 2  4     8  ///bst.levleOrder();System.out.println();}}

输出结果:

5
3
6
2
4
8

二分搜索树的层序遍历相关推荐

  1. php数字截取2位小树,数据结构-PHP 二分搜索树的层序遍历(队列实现)

    ​前面文章介绍了二分搜索树的 前序遍历.中序遍历.后续遍历,这篇文章主要介绍一下如何使用 队列 实现二分搜索树的 层序遍历. 1.队列 1.1 队列的特点队列(Queue) 是一种线性结构. 只能从一 ...

  2. java实现二分搜索树

    1.二分搜索树定义 二分搜索树是一个二叉树 二分搜索树的节点的值大于左子树,小于右子树的值 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FAbuFGnW-158419 ...

  3. 二分搜索树--二叉树

    文章目录 前言 一.二叉树 二.二分搜索树的性质 前言 二分搜索树:在二叉树的基础上,任意一个节点满足大于左子树中的所有节点,小于右子树中的所有节点. 一.二叉树 1.为什么要有树结构: 树结构本身是 ...

  4. 刷题记录8---验证二叉搜索树+二叉树的层序遍历+从前序与中序遍历序列构造二叉树+二叉树展开为链表+二叉树的最近公共祖先

    前言 所有题目均来自力扣题库中的hot 100,之所以要记录在这里,只是方便后续复习 98.验证二叉搜索树 题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树. 有效 二叉搜 ...

  5. 二分查找法及二分搜索树及其C++实现

    二分查找法及二分搜索树及其C++实现 二分查找法 二分查找简介 二分查找的实现 二分搜索树 二分搜索树简介 二分搜索树的实现 二分查找法 二分查找简介 二分查找是一种在每次比较之后将查找空间一分为二的 ...

  6. 算法与数据结构之二分搜索树

    主要介绍:介绍一下二分搜索树相关的知识,有二分查找法.二分搜索树等. 二分查找法 wiki定义 是一种在有序数组中查找某一特定元素的搜索算法.搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元 ...

  7. 二分搜索树-BST,python实现

    为什么要用二分搜索树 二分搜索树的定义 二叉搜索树的基本功能 初始化二分搜索树的节点 插入元素 查找元素 深度优先遍历 广度优先遍历 删除操作 要删除的节点没有孩子节点 要删除的节点有两个孩子节点 要 ...

  8. bartender一行打印两个二次开发_C++ 智能指针和二叉树:图解层序遍历和逐层打印二叉树...

    作者:apocelipes  链接:https://www.cnblogs.com/apocelipes/p/10758692.html 二叉树是极为常见的数据结构,关于如何遍历其中元素的文章更是数不 ...

  9. 74. Leetcode 501. 二叉搜索树中的众数 (二叉搜索树-中序遍历类)

    给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素).如果树中有不止一个众数,可以按 任意顺序 返回.假定 BST 满足如下定义:结 ...

最新文章

  1. “高引用”《牛顿传》重版再出,今晚八点,来直播间“遇见牛顿”!
  2. 这些哭笑不得的情景,每个程序员都可能面对
  3. NLP深度学习:近期趋势概述 1
  4. PKI/CA (4)其他信任模型
  5. T-SQL 编程之结果集循环处理
  6. win10远端服务器未响应,win10怎么连远程服务器未响应
  7. 文献阅读(part2)--Towards K-means-friendly spaces Simultaneous deep learning and clustering
  8. P5644-[PKUWC2018]猎人杀【NTT,分治】
  9. CSS之Responsive网页设计的三个特性
  10. 程序员面试金典 - 面试题 03.03. 堆盘子 (vector(stack))
  11. ks检验正态分布结果_KS检验及其在机器学习中的应用
  12. libcareplus一个Qemu-6.1.0热补丁示例
  13. emoji表情mysql报错_让MySQL支持Emoji表情 mysql 5.6
  14. python内置函数程序_Python入门,一定要吃透这69个内置函数
  15. eclipse基础环境搭建(含Tomcat、maven)
  16. ruby+watir 安装
  17. java用jaxb三步解析xml_三步解决JAXB生成XML包含CDATA问题
  18. 一分钟入门typescript
  19. 今日新闻早报 精选简报12条 每天一分钟 知晓天下事 2月3日
  20. 飞腾CPU体系结构(九)

热门文章

  1. 电子元器件产业规模:SRM管理平台与供应链管理优化
  2. 数据库案例——查询选择了大学语文而没有选择线性代数的学生
  3. 拼多多制假售假 却没人管 已经无法无天了!
  4. 解决IDEA中文乱码
  5. TensorFlow 从入门到精通(八):TensorFlow tf.nn.conv2d 一路追查
  6. 益商烧春十年酱酒推荐
  7. 5大禁忌 护肤品绝对不可随意混
  8. 警察和土匪游戏 Linux案例
  9. c语言 错排公式 程序,错排公式详解
  10. 现代 cmake (cmake 3.x) 操作大全