Estou com problemas para entender o que é uma árvore de pesquisa binária classificada e por que é importante ter uma classificação. Espero que alguém possa esclarecer algumas coisas para mim.
O que eu analisei:
Pelo que li, uma árvore de pesquisa binária classificada é uma árvore em que cada nó tem uma "classificação" variável anexada a ela.
Na pergunta aqui , alguém afirma que, para determinar a classificação de um nó em uma árvore de pesquisa binária, você pode fazer o seguinte:
Comece a classificação em zero. À medida que a pesquisa binária prossegue para baixo da raiz, some os tamanhos de todas as subárvores esquerdas pelas quais a pesquisa ignora. Inclua também os nós ao longo do caminho menos que o item pesquisado. Estes são apenas os pais dos filhos certos no caminho da pesquisa.
Perguntas:
A classificação parece ser apenas um número que reflete quantos nós são necessários (mais um para a raiz) para chegar a um nó específico em uma árvore. Isso está certo? Isso não me pareceu correto, porque isso parece tornar a classificação de um nó a mesma que a profundidade de um nó.
Além disso, qual é a diferença entre "peso" e "classificação"? Se um nó em uma árvore de pesquisa binária específica tem um peso associado a ele, isso é apenas um valor aleatório atribuído a ele pelo usuário / desenvolvedor?
Por fim, qual é o sentido de ter uma classificação? Meu primeiro pensamento é que ele pode ser usado para indicar prioridades. No entanto, nesse caso, por que o desenvolvedor não usaria pesos?
Outras coisas:
também dei uma olhada no site aqui . Explica como calcular a classificação, mas ainda não estou convencido de que entendi o conceito ainda.
Obrigado por qualquer ajuda.
fonte