elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Consulta de codigo de arbol binario en C en: 5 Mayo 2019, 17:49 pm
Tenes razon, creo deberia agregarle otro caso base antes de llegar al if.
Algo tipo:

if(!ab->izq || !ab->der) return 0;

Gracias.
2  Programación / Programación C/C++ / Consulta de codigo de arbol binario en C en: 5 Mayo 2019, 05:44 am
Hola, queria hacer una consulta sobre un codigo que use para responder un punto de mi examen.
Lo hice con un recorrido preorder y usando un wrapper.
Queria saber si el codigo funciona con ese IF largo asi, porque nunca me dijeron que lo podia usar asi, pero es lo unico que se me ocurrio en ese momento.
Gracias.

Me piden implementar una primitiva que recibe un arbol binario y devuelve la cantidad de nodos que son abuelos completos.
Abuelos completos: Quiere decir que tiene tanto hijo izquierdo como derecho, y ambos hijos tambien tienen hijos izquierdos y derechos.

typedef struct ab{
  struct ab* izq;
  struct ab* der;
  void* dato;
}ab_t;

size_t ab_abuelos(const ab_t* ab){

  if(!ab) return 0;
  size_t suma = 0;
  return _ab_abuelos(ab, suma);
}

size_t _ab_abuelos(const ab_t* ab, size_t suma){

  if(!ab) return 0;

  if(ab->izq->izq && ab->izq->der && ab->der->izq && ab->der->der) suma++;

  _ab_abuelos(ab->izq, suma);
  _ab_abuelos(ab->der, suma);

  return suma;
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines