Utilice la estructura de almacenamiento en cadena para encapsular el árbol binario de búsqueda
pensamiento:
De la definición del árbol binario, se puede ver que el nodo del árbol binario está compuesto por un elemento de datos y dos ramas apuntando a los nodos izquierdo y derecho respectivamente, por lo que los nodos en la lista enlazada que representan el árbol binario deben contener al menos tres campos.
- datos: campo de datos.
- lchild: dominio del puntero izquierdo.
- rchild: campo del puntero derecho.
Encapsular el código del árbol de búsqueda binario
function BinarySearchTree(){
// 新结点创建的构造函数
function Node(data){
this.data = data;
this.lchild = null;
this.rchild = null;
}
// 保存根的属性
this.root = null;
// 创建关于二叉搜索树的相关操作方法
}
Análisis de código
- Encapsula el constructor de BinarySearchTree .
- Encapsule una clase interna para almacenar cada nodo Node.
- Esta clase interna contiene tres atributos : el valor de datos correspondiente al nodo, el campo puntero al subárbol izquierdo y el campo puntero al subárbol derecho (ambos inicialmente apuntan a nulo).
- Para un árbol, la raíz se almacena en la raíz y luego se pueden encontrar otros nodos a través del nodo raíz.
Varias formas de ver árboles de búsqueda binaria
[Estructura de datos JS] Métodos comunes de árbol de búsqueda binaria