Junior — Middle
¿Puede explicar qué es una estructura de datos árbol binario de búsqueda y cómo funciona?
sobes.tech AI
Respuesta de la IA
El árbol de búsqueda binario (Binary Search Tree, BST) es una estructura de datos en forma de árbol, donde cada nodo contiene una clave, y se cumple la siguiente condición para cada nodo:
- Todas las claves en el subárbol izquierdo son menores que la clave del nodo.
- Todas las claves en el subárbol derecho son mayores que la clave del nodo.
Esto permite realizar operaciones de búsqueda, inserción y eliminación de elementos de manera eficiente con una complejidad media de O(log n), si el árbol está equilibrado.
Ejemplo de inserción y búsqueda en BST en JavaScript:
class Node {
constructor(key) {
this.key = key;
this.left = null;
this.right = null;
}
}
class BST {
constructor() {
this.root = null;
}
insert(key) {
const newNode = new Node(key);
if (!this.root) {
this.root = newNode;
return;
}
let current = this.root;
while (true) {
if (key < current.key) {
if (!current.left) {
current.left = newNode;
break;
}
current = current.left;
} else {
if (!current.right) {
current.right = newNode;
break;
}
current = current.right;
}
}
}
search(key) {
let current = this.root;
while (current) {
if (key === current.key) return true;
current = key < current.key ? current.left : current.right;
}
return false;
}
}
const tree = new BST();
tree.insert(10);
tree.insert(5);
tree.insert(15);
console.log(tree.search(5)); // true
console.log(tree.search(20)); // false