怎样用Java来体现二叉树(顺便加上注释)

Python018

怎样用Java来体现二叉树(顺便加上注释),第1张

二叉树,和数据库的B树操作流程是一样的,例如:有如下字段

F,C,B,H,K,I;

如果要形成二叉树的话,则,首先取第一个数据作为根节点,所以,现在是 F ,如果字段比根节点小,则保存在左子树,如果比根节点大或者等于根节点则保存在右子树,最后按左---根-----右输出所以数据。

所以,实现的关键就是在于保存的数据上是否存在大小比较功能,而String类中compareTo()有这个能力,节点类要保存两类数据,左节点,右节点

class Node

{

private String data

private Node left

private Node right

public Node (String data){

this.data = data

}

public void setLeft(Node left) {

this.left = left

}

public void setRight(Node right){

this.right = right

}

public String getDate() {

return this.data

}

public Node getLeft(){

return this.left

}

public Node getRight(){

return this.right

}

public void addNode(Node newNode){

if(this.data.compareTo(newNode.data)>=0) {

if(this.left == null){

this.left = newNode

}else {

this.left.addNode(newNode)

}

}else {

if(this.right == null) {

this.right = newNode

} else {

this.right.addNode(newNode)

}

}

}

public void printNode(){

if(this.left!= null){

this.left.printNode()

}

System.out.println(this.data)

if(this.right != null){

this.right.printNode()

}

}

}

class BinaryTree

{

private Node root = null

public void add(String data) {

Node newNode = new Node(data)

if(this.root == null) {

this.root = newNode

}else{

this.root.addNode(newNode)

}

}

public void print() {

this.root.printNode()

}

}

public class Hello

{

public static void main (String args[]) {

BinaryTree link = new BinaryTree()

link.add("F")

link.add("C")

link.add("B")

link.add("H")

link.add("K")

link.add("I")

link.print()

}

}

你一看就英文就知道什么意思了,应该可以理解了

这个二叉树捉摸不透就别琢磨了,开放中一般用不上

}

因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,

B树(B-tree)是一种树状数据结构能够用来存储排序后的数据。这种数据结构能够让查找数据、循序存取、插入数据及删除的动作,都在对数时间内完成。

java 编程中索引是对数据库表中一列或多列的值进行排序的一种结构(B树-平衡多叉树)。

创建索引可以大大提高系统的性能。

第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能