Balanceamento de Arvore Binaria em C++  XML
Índice dos Fóruns » Outras Linguagens
Autor Mensagem
FilhoDoRei
JavaTeenager
[Avatar]

Membro desde: 13/03/2008 19:52:45
Mensagens: 199
Localização: Taguatinga
Offline

Eai galera pra terminar a ajuda mais um codigo, agora sobre balanceamento de arvore binaria(inserção).



Lembrando que esse codigo assim como o outro não foram implementados por mim, porém sei que pode ter outras pessoas precissando desse codigo.

Espero ter ajudado.

Falowssssss

"Sei que voce não entende
A profundidade do Meu amor
Como morri na cruz pelos teus pecados
E sei que você não compreende
O quanto te dei
Mas prometo, faria tudo isso novamente".


[WWW] [Yahoo!] aim icon [MSN] [ICQ]
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

A melhor coisa é você implementar o negócio.
Uma árvore binária balanceada é a AVL (eu acho). Dê uma pesquisada, que tem uns applets legais sobre isso.

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
FilhoDoRei
JavaTeenager
[Avatar]

Membro desde: 13/03/2008 19:52:45
Mensagens: 199
Localização: Taguatinga
Offline

dedejava wrote:A melhor coisa é você implementar o negócio.
Uma árvore binária balanceada é a AVL (eu acho). Dê uma pesquisada, que tem uns applets legais sobre isso.


Valeu dedejava pode deixar que eu farei as pesquisas, e é isso mesmo uma arvore avl é uma arvore balanceada.

Porém não tinha feito esse codigo pq a ideia estava muito confusa, tentei me basear em alguma coisa mas não achei nada falando sobre o assunto.

Esse algoritmo pra mim é muito dificil, pelo menos em C++...

Obrigado pelas dicas!

Falowssss!

"Sei que voce não entende
A profundidade do Meu amor
Como morri na cruz pelos teus pecados
E sei que você não compreende
O quanto te dei
Mas prometo, faria tudo isso novamente".


[WWW] [Yahoo!] aim icon [MSN] [ICQ]
lucifeler
JavaChild
[Avatar]

Membro desde: 13/02/2007 21:34:57
Mensagens: 101
Localização: São Paulo
Offline

Voce também pode procurar por arvores rubro negras, eu acho a implementação mais simples pois ao inves de trabalhar com o calculo de altura ele trabalha com as cores vermelha e preta.

A sabedoria é o melhor guia e a fé, a melhor companheira. Deve-se pois, fugir das trevas da ignorância e do sofrimento, deve-se procurar a luz da Iluminação.(Sakyamuni)
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Pelo que li da inserção, essa não é uma árvore balanceada, ela é apenas ordenada.

Para ser balanceada, você tem que mover os nós de lugar conforme as inserções acontecem, não deixando o lado esquerdo do nó ter uma altura muito maior que o direito, e vice-versa. A diferença das alturas dos ramos não pode ser maior que 1.

This message was edited 1 time. Last update was at 14/05/2008 21:26:42


A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

lucifeler wrote:Voce também pode procurar por arvores rubro negras, eu acho a implementação mais simples pois ao inves de trabalhar com o calculo de altura ele trabalha com as cores vermelha e preta.

Já eu acho que árvores rubro-negras são mais complicadas. Essas "simples" cores conferem à árvore um conjunto de propriedades que devem ser mantidas após a realização de cada operação.

Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

lucifeler
JavaChild
[Avatar]

Membro desde: 13/02/2007 21:34:57
Mensagens: 101
Localização: São Paulo
Offline

É verdade tem que haver uma manutenção das cores mas acho mais facil que fazer a manutenção de alturas e fatores de balanceamentos dos nós de uma arvore avl, opnião pessoal, mas concordo que é um saco aquelas cores mudando de cor a cada inserção ou remoção.

A sabedoria é o melhor guia e a fé, a melhor companheira. Deve-se pois, fugir das trevas da ignorância e do sofrimento, deve-se procurar a luz da Iluminação.(Sakyamuni)
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

tnaires wrote:
lucifeler wrote:Voce também pode procurar por arvores rubro negras, eu acho a implementação mais simples pois ao inves de trabalhar com o calculo de altura ele trabalha com as cores vermelha e preta.

Já eu acho que árvores rubro-negras são mais complicadas. Essas "simples" cores conferem à árvore um conjunto de propriedades que devem ser mantidas após a realização de cada operação.


Também acho
Ainda mais que tive problemas pra implementar a AVL ano passado em C (problemas de burrice lógica mesmo ).

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
FilhoDoRei
JavaTeenager
[Avatar]

Membro desde: 13/03/2008 19:52:45
Mensagens: 199
Localização: Taguatinga
Offline

Bruno Laturner wrote:Pelo que li da inserção, essa não é uma árvore balanceada, ela é apenas ordenada.

Para ser balanceada, você tem que mover os nós de lugar conforme as inserções acontecem, não deixando o lado esquerdo do nó ter uma altura muito maior que o direito, e vice-versa. A diferença das alturas dos ramos não pode ser maior que 1.


Você possui esse codigo que faz o balanceamento,
ou vc apenas acha que esse codigo apenas esta ordenando?




"Sei que voce não entende
A profundidade do Meu amor
Como morri na cruz pelos teus pecados
E sei que você não compreende
O quanto te dei
Mas prometo, faria tudo isso novamente".


[WWW] [Yahoo!] aim icon [MSN] [ICQ]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Ah, só tinha visto o método insere, não vi o insereBal.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
FilhoDoRei
JavaTeenager
[Avatar]

Membro desde: 13/03/2008 19:52:45
Mensagens: 199
Localização: Taguatinga
Offline

Blz Bruno, todos nos estamos aqui com o mesmo proposito: "compartilhar conhecimento"!

Falowsss

"Sei que voce não entende
A profundidade do Meu amor
Como morri na cruz pelos teus pecados
E sei que você não compreende
O quanto te dei
Mas prometo, faria tudo isso novamente".


[WWW] [Yahoo!] aim icon [MSN] [ICQ]
 
Índice dos Fóruns » Outras Linguagens
Ir para:   
Powered by JForum 2.1.8 © JForum Team