Buscar

3 (1.0) - Construa uma arvore de huffman para a seguinte string: “o carro correu na corrida”. Qual o comprimento da string, quando codificada utili...

3 (1.0) - Construa uma arvore de huffman para a seguinte string: “o carro correu na corrida”. Qual o comprimento da string, quando codificada utilizando esta arvore.


Essa pergunta também está no material:

Prova-2-2012-1-Estrutura-de-Dados
1 pág.

Estrutura de Dados I Universidade Federal do Rio de JaneiroUniversidade Federal do Rio de Janeiro

💡 1 Resposta

User badge image

Ed Verified user icon

Para construir uma árvore de Huffman, primeiro precisamos calcular a frequência de cada caractere na string fornecida. Em seguida, criamos nós para cada caractere e os organizamos em uma fila de prioridade com base em suas frequências. Em seguida, combinamos os dois nós de menor frequência em um novo nó, cuja frequência é a soma das frequências dos nós combinados. Repetimos esse processo até que reste apenas um nó na fila, que será a raiz da árvore de Huffman. No caso da string "o carro correu na corrida", podemos calcular as frequências dos caracteres da seguinte forma: - 'o': 4 - ' ': 4 - 'r': 4 - 'c': 2 - 'e': 2 - 'a': 2 - 'n': 2 Agora, podemos construir a árvore de Huffman: Passo 1: Combine os dois nós de menor frequência ('c' e 'e') em um novo nó com frequência 4. Passo 2: Combine os dois nós de menor frequência ('a' e 'n') em um novo nó com frequência 4. Passo 3: Combine os dois nós de menor frequência (nó anterior e 'r') em um novo nó com frequência 8. Passo 4: Combine os dois nós de menor frequência (nó anterior e 'o') em um novo nó com frequência 12. Passo 5: Combine os dois nós de menor frequência (nó anterior e ' ') em um novo nó com frequência 16. Passo 6: Combine os dois nós de menor frequência (nó anterior e 'r') em um novo nó com frequência 20. Passo 7: Combine os dois nós de menor frequência (nó anterior e 'i') em um novo nó com frequência 22. Passo 8: Combine os dois nós de menor frequência (nó anterior e 'd') em um novo nó com frequência 24. Passo 9: Combine os dois nós de menor frequência (nó anterior e 'a') em um novo nó com frequência 26. Passo 10: Combine os dois nós de menor frequência (nó anterior e ' ') em um novo nó com frequência 30. Passo 11: Combine os dois nós de menor frequência (nó anterior e 'o') em um novo nó com frequência 34. A árvore de Huffman resultante será: ``` 34 / \ / \ 16 o / \ / \ 8 r / \ / \ 4 a n ' ' / \ c e ``` Agora, para calcular o comprimento da string codificada utilizando essa árvore de Huffman, precisamos atribuir códigos binários para cada caractere com base em seu caminho na árvore. Por exemplo, 'o' seria codificado como '0', 'r' como '10', 'a' como '110', 'n' como '1110', e assim por diante. Após atribuir os códigos binários para cada caractere, podemos calcular o comprimento da string codificada somando o produto da frequência de cada caractere pelo comprimento de seu código binário correspondente. Espero que isso ajude! Se você tiver mais dúvidas, é só perguntar.

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais