6.二叉树
Posted Kyhoon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.二叉树相关的知识,希望对你有一定的参考价值。
二叉树,每个结点的子节点最多只能有两个。而且结点的值在比左结点大,比右结点小.
实现可以把结点单独抽出来做一个类,包含它本身的数据及左右结点的引用.
另外的就是树类,包含根结点引用,其他的结点都可以从根结点遍历找到
1.节点类
public class Node { //关键字 public int iData; //数据 public double dData; //左结点 public Node leftChild; //右结点 public Node rightChild; //展示当前结点的数据 public void displayNode(){ System.out.println("{"+iData+","+dData+"}"); } }
2.树类
public class Tree { private Node root; public Tree(){ this.root=null; } //根据当前寻找的值进行判断是在左边结点还是右边结点 public Node find(int key){ Node current=this.root; while(key!=current.iData){ if(key<current.iData){ current=current.leftChild; }else{ current=current.rightChild; } if (current==null) { return null; } } return current; } //根据插入结点的值比较判断是在左边节点还是右边结点, //直到判断的左结点或者右节点为空,则表示是插入的位置 public void insert(int id,double dd){ Node newNode=new Node(); newNode.iData=id; newNode.dData=dd; Node current=this.root; Node parent; while(true){ parent=current; if(id<current.iData){ current=current.leftChild; if(current==null){ parent.leftChild=newNode; return ; } }else{ current=current.rightChild; if(current==null){ parent.rightChild=newNode; return ; } } } } public boolean delete(int key){ //当删除的结点下面没有其他结点 //当删除的结点下面有一个结点 //当删除的结点下面有两个结点 return true; } }
以上是关于6.二叉树的主要内容,如果未能解决你的问题,请参考以下文章