Considere o TAD trie e a implementação dada na teórica (ficheiro .tgz com a base):
- insira os seguintes valores numa trie: "abc", "abcde", "efg", "efgaa" e "bfg"
pela ordem indicada. indique para cada inserção qual a trie obtida.
- remova os seguintes valores da trie da alínea anterior: "abc" e "efgaa"
pela ordem indicada. indique para cada remoção qual a trie obtida.
- implemente a operação remove que dada uma chave e uma trie remove a chave da trie.
teste a sua função com as remoções da alínea 2.
- implemente a função mínima que devolve a menor chave na trie.
teste a sua função com as tries da alínea 1.
- Implemente a operação pesquisa, que dada uma chave devolve true se ela está na trie, false senão.
teste a sua função para as diferentes tries da alínea 1.
- Implemente a operação próxima, que dada uma chave devolve a próxima chave na trie (ordem alfabética).
- Suponha que além de palavras gostaria de guardar num dicionário as linhas onde as palavras ocorrem.
- Altere o tipo trie, e a função insere para inserir uma chave e a linha onde ocorre (note que uma palavra pode ocorrer em várias linhas).
- Altere a função lista_ord para listar as palavras por ordem alfabética e as linhas onde a palavra ocorre.
- Defina a operação palavrasNaLinha que dada uma linha lista todas as palavras que ocorrem na linha.