我是靠谱客的博主 魔幻石头,最近开发中收集的这篇文章主要介绍二叉树的结构及其遍历算法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.BinaryTree.java
/**
 * 前序遍历二叉树。先根结点,再左结点,
 * 如无再右结点,如此递归至搜索完毕。
 */
package com.binarytree;
public class BinaryTree {
 int data;
 BinaryTree leftpoiter;
 BinaryTree rightpoiter;
 BinaryTree(int data) {
  this.data = data;
  leftpoiter = null;
  rightpoiter = null;
 }
 public void insertTree(BinaryTree root, int data) {
  if (data >= root.data) {
   if (root.rightpoiter == null) {
    root.rightpoiter = new BinaryTree(data);
   } else {
    insertTree(root.rightpoiter, data);
   }
  } else {
   if (root.leftpoiter == null) {
    root.leftpoiter = new BinaryTree(data);
   } else {
    insertTree(root.leftpoiter, data);
   }
  }
 }
}

2.BinaryTreeTest.java
package com.binarytree;
public class BinaryTreeTest {
 public static void main(String args[])
 {
 BinaryTreeTest b=new BinaryTreeTest();
 int data[]={12,11,34,45,67,89,56,43,22,98};
 BinaryTree root =new BinaryTree(data[0]);
 System.out.print("二叉树的中的数据:  ");
 for(int i=1;i<data.length;i++){
 root.insertTree(root,data[i]);
 System.out.print(data[i-1]+";");
 }
 System.out.println(data[data.length-1]);
 int key=Integer.parseInt(args[0]);
 if(b.searchkey(root,key))
 {
 System.out.println("找到了:"+key);
 }
 else
 {
 System.out.println("没有找到:"+key);
 }
 }
 public boolean searchkey(BinaryTree root, int key)
 {
 boolean bl=false;
 if(root==null)
 {
 bl=false;
 return bl;
 }
 else if(root.data==key)
 {
 bl=true;
 return bl;
 }
 else if(key>=root.data)
 {
 return searchkey(root.rightpoiter,key);
 }
 return searchkey(root.leftpoiter,key);
 }
}

 

最后

以上就是魔幻石头为你收集整理的二叉树的结构及其遍历算法的全部内容,希望文章能够帮你解决二叉树的结构及其遍历算法所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部