二叉树
为什么使用树:因为有序数组的方法插入、删除太慢(查找快)
链表查找慢(插入、删除快)
树:快速查找、删除、插入
- 路径:顺着连接节点的边从一个节点到另一个节点走过的节点叫做路径
- 根:只有一个根,从根到任何节点有且只有一个路径
- 父节点:每个节点都有一条边向上连接到一个节点,这个节点称为父节点
- 子节点:每个节点都有一条边向下连接一个节点,这个节点叫做子节点
- 叶子节点:没有子节点
- 子树:每个节点可以作为一个子树的根,它和它所有的子节点,子节点的子节点组合的树
- 访问:访问一个节点,是为了在这个节点上执行一些操作,比如查看节点数据项,如果仅经过一个节点,不认为访问了这个节点
/*
* 二叉树节点
*/
public class Node {
//数据项
public long data;
//左子节点
public Node leftChild;
//右子节点
public Node rightChild;
/**
* 构造方法
* @param data
*/
public Node(long data) {
this.data = data;
}
}
/*
* 二叉树类
*/
public class Tree {
//根节点
private Node root;
/**
* 插入节点
* @param value
*/
public void insert(long value) {
}
/**
* 查找节点
* @param value
*/
public void find(long value) {
}
/**
* 删除节点
* @param value
*/
public void delte(long value) {
}
}