[EP05] delete()

Re: [EP05] delete()

por José Coelho de Pina -
Número de respostas: 0

Ois Daniel e Gabriel,

Legal!

Qual é o comportamento esperado de delete()?

Excelente que vocês estão refletindo sobre a implementação!  aprovo

Por exemplo, para um determinado Node x, onde x.val == null, x.mid == null mas x.left != null e x.right != null, o que deve ser feito? Podemos simplesmente deixar o Node na TST, já que ele tem links para outras palavras

É uma alternativa aceitável.
Remover um nó apenas quando todos seu nós são null.
Como vocês observaram, o ponto aqui é que se x.mid == null, então x.c não faz parte de nenhuma palavra o dicionário.
Portanto, a presença do nó x na TST é supérflua.

ou devemos excluir x e acomodar x.right e x.left de acordo?...

É uma alternativa bacana e mais divertida e desafiadora. mostrando a língua

Qualquer alternativa é aceitável.
Eu acho àquela que realmente remove o nó é mais divertida e instrutiva. maneiro
Na prática, não sei o que é melhor e suponho que como tudo, dependa da aplicação.
Escolham a alternativa que preferírem.