利用java如何实现一个二叉查找树功能

  介绍

这篇文章给大家介绍利用java如何实现一个二叉查找树功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强> java二叉查找树实例代码

1。左边& lt;中间& lt;右边

2。前序遍历左中右

3。中序遍历中左右

4。后序遍历左右中

公共类BinaryTree {//二叉树的根节点
  公共TreeNode rootNode;//记录搜索深度
  公共int数;/* *
  *利用传入一个数组来建立二叉树
  */公共BinaryTree (int[]数据){
  for (int i=0;我& lt;数据。长度;我+ +){
  [我]addNodeToTree(数据);
  }
  }/* *
  *将指定的值加入到二叉树中适当的节点
  */私人空间addNodeToTree (int值){
  TreeNode currentNode=rootNode;//建立树的根
  如果(rootNode==null) {
  rootNode=new TreeNode(价值);
  返回;
  }//建立二叉树
  而(真){//新增的价值比节点的值小,则在左子树
  如果(价值& lt;currentNode。值){
  如果(currentNode。leftNode==null) {
  currentNode。leftNode=new TreeNode(价值);
  返回;
  其他}{
  currentNode=currentNode.leftNode;
  }
  其他}{//新增的价值比节点的值大,在右子树
  如果(currentNode。rightNode==null) {
  currentNode。rightNode=new TreeNode(价值);
  返回;
  其他}{
  currentNode=currentNode。rightNode;
  }
  }
  }
  }/* *
  *中序遍历(左子树-树的根,右子树)
  */公共空间”(TreeNode节点){
  如果(节点!=null) {
  (节点。leftNode);
  系统。都会(“[”;+节点。值+“]”);
  (节点。rightNode);
  }
  }/* *
  *前序遍历(树的根,左子树,右子树)
  */公共空间预订(TreeNode节点){
  如果(节点!=null) {
  系统。都会(“[”;+节点。值+“]”);
  预订(节点。leftNode);
  预订(节点。rightNode);
  }
  }/* *
  (*后序遍历左子树,右子树,树的根)
  */公共空间后缀次序(TreeNode节点){
  如果(节点!=null) {
  后根次序(节点。leftNode);
  后根次序(节点。rightNode);
  系统。都会(“[”;+节点。值+“]”);
  }
  }/* *
  *从二叉树中查找指定值
  */公共布尔findTree (TreeNode节点,int值){
  如果(节点==null) {
  系统。out.println(“共搜索“;+数+“次”);
  返回错误;
  }如果(节点。值=https://www.yisu.com/zixun/=值){
  系统。出去了。println(“共搜索”+数+“次”);
  返回true;
  }else if(价值 

前序遍历:

 [50][35][27][45][40][48][78][56][90]

中序遍历:

[27][35][40][45][48][50][56][78][90]

后序遍历:

 [27][40][48][45][35][56][90][78][50]

开始搜索:

共搜索3次

是否搜索到48:真正的

进行排序:

[27][35][40][45][48][50][56][78][90]

关于利用java如何实现一个二叉查找树功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

利用java如何实现一个二叉查找树功能