Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

batistelli

uma rotina para inserir um nó em determinada árvore binária ordenada

Recommended Posts

Preciso criar uma rotina para inserir um nó em determinada árvore binária ordenada, estou quebrando a cabeça aqui.

em que parte estou errando por favor???

 

 

#include <cstdlib>
#include <iostream>

using namespace std;

typedef int dado;
typedef No* Ponteiro;

typedef struct{
		dado Info;
		Ponteiro Esq;
		Ponteiro Dir;
		}No;
		
typedef Ponteiro Arvore;

void insere(Arvore A, D Dado);			
void inicia(Arvore A, D Dado);

int main(int argc, char *argv[])
{
	int n=0;
	
	
	system("PAUSE");
	return EXIT_SUCCESS;
}
void inicia(Arvore A, D Dado){
	 
	 num=0;
	 
	 }
					
void insere(Arvore A, D Dado){
	 
	 if(nume=0){
				A = (No*)malloc(sizeof(No));
				A->Info = D;
				A->Esq = NULL;
				A->Dir = NULL;
				}else{
					  if (A->Info>D){
										insere(A->Esq,D);
										else
										insere(A->Dir,D);
				

	 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

da uma lidinha no conteudo desse site: http://forum.webly.com.br/index.php?showtopic=15557

 

[]s

E velho ele ate pede umas das coisas que eu preciso em outro exercicio tbm, que e implementar um programa so para determinar a altura de uma arvore,

mais os codigos que tem la sao e C e pelo que vi ele pego os codigos da Net . nem ta rodando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

juro q n entendi oq você disse?

os codigos de lah tao em C/C++, n entendi esse .NET q você disse =//

Compartilhar este post


Link para o post
Compartilhar em outros sites

juro q n entendi oq você disse?

os codigos de lah tao em C/C++, n entendi esse .NET q você disse =//

ahehaeehah. esta confuso mesmo..

 

 

o net. e no sentido de que ele pego o codigo da internet, e meu professor e muito chato com isso, mais eu conseguir consertar aqui.

agora cara se tem algum codigo ai para determinar a altura de uma árvore??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se tiver afim de estudar árvores AVL, tenho um ÓTIMO site: http://www.cmcrossroads.com/bradapp/ftp/sr...+/AvlTrees.html

É importante ter um bom conhecimento da linguagem C++ antes de ler.

Aconselho guardar o link, será útil!

 

Voltando pras árvores binárias... é exatamente como uma lista encadeada... mas ao invés de fazer:

no = no->proximo;

você faz:

if (data > no->data)
	no = no->direita;
else (data < no->data)
	no = no->esquerda;
else
	return NO_JA_ESTA_NA_ARVORE;

Compartilhar este post


Link para o post
Compartilhar em outros sites

poxa rapaz, você tentou o código:

 

// Devolve a altura da árvore binária cuja raiz é r.

int altura (arvore r) {
   if (r == NULL) 
	  return -1; // altura de árvore vazia é -1
   else {
	  int he = altura (r->esq);
	  int hd = altura (r->dir);
	  if (he < hd) return hd + 1;
	  else return he + 1;
   }
}

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.