Supongamos que tengo una BST balanceada (árbol de búsqueda binaria). Cada nodo de árbol contiene un campo especial count
, que cuenta todos los descendientes de ese nodo + el nodo en sí. Llaman a esta estructura de datos order statistics binary tree
.Encuentra la mediana en O (1) en el árbol binario
Esta estructura de datos compatible con dos operaciones de O (log n):
rank(x)
- número de elementos que están a menos dex
findByRank(k)
- encontrar el nodo conrank
==k
Ahora me gustaría agregar una nueva operación median()
para encontrar la mediana. ¿Puedo suponer que esta operación es O (1) si el árbol está equilibrado?
Creo que la mediana sería la raíz del árbol – Gir
Estoy de acuerdo con Gir. Pero esto solo es cierto si el árbol está completamente equilibrado. – brano