Supponiamo di avere un BST bilanciato (albero di ricerca binario). Ogni nodo dell'albero contiene un campo speciale count
, che conta tutti i discendenti di quel nodo + il nodo stesso. Chiamano questa struttura dati order statistics binary tree
.Trova mediana in O (1) nell'albero binario
Questa struttura di dati supporta due operazioni di O (log):
rank(x)
- numero di elementi che sono meno dix
findByRank(k)
- trova il nodo conrank
==k
Ora desidero aggiungere una nuova operazione median()
per trovare la mediana. Posso supporre che questa operazione sia O (1) se l'albero è bilanciato?
penso che la mediana sarebbe la radice dell'albero – Gir
Sono d'accordo con Gir. Ma questo è vero solo se l'albero è completamente bilanciato. – brano