Vamos assumir a seguinte definição de uma árvore vermelho-preta:
- É uma árvore de pesquisa binária.
- Cada nó é colorido em vermelho ou preto. A raiz é preta.
- Dois nós conectados por uma borda não podem ser vermelhos ao mesmo tempo.
- Aqui deve ser uma boa definição de uma folha NIL, como no wiki. A folha NIL é colorida em preto.
- Um caminho da raiz para qualquer folha NIL contém o mesmo número de nós pretos.
Questão
Suponha que você tenha implementado as operações insert
e delete
para a árvore vermelho-preta. Agora, se você receber uma árvore vermelha-preta válida, sempre haverá uma sequência insert
e delete
operações que a construirão?
Motivação
Esta questão é motivada por esta questão e pela discussão desta questão .
Pessoalmente, acredito que, se você imaginar uma árvore vermelha-preta válida que consiste apenas em nós pretos (o que implica que você está imaginando uma árvore perfeitamente equilibrada), há uma sequência insert
e delete
operações que a constroem. Contudo,
- Eu não sei como provar com precisão que
- Também estou interessado no caso mais geral
insert
e delete
operações?
insert
e delete
; pode haver várias maneiras de fazer essas operações. b) Como as árvores RB são essencialmente árvores B da ordem 4, pode-se procurar inspiração. Os detalhes podem ser complicados, pois o mapeamento de RB para B (e / ou para trás) não é exclusivo.