Estructuras dinámicas en C: Implementación de un árbol binario ordenado - 1

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2024
  • El curso en formato de texto lo puede seguir en
    www.tutoriales...

ความคิดเห็น • 15

  • @ezzaulcxjuarez8114
    @ezzaulcxjuarez8114 4 ปีที่แล้ว +2

    Me gusta como explicas bro, ojala que sigas subiendo este contenido, gracias por la ayuda c:

  • @TheFede52
    @TheFede52 3 ปีที่แล้ว

    Bien explicado y claro, un éxito.

  • @Comidaparatodos1
    @Comidaparatodos1 4 ปีที่แล้ว

    muchas gracias

  • @Comidaparatodos1
    @Comidaparatodos1 4 ปีที่แล้ว

    Hola a mi tambien me sirvio sigue asi

  • @vianeyvargas7736
    @vianeyvargas7736 3 ปีที่แล้ว

    Excelente video Diego mil gracias por tu vídeo, de pronto puedes hacer esto en Angular ? Con backend Java?

    • @diegomoissetdeespanes
      @diegomoissetdeespanes  3 ปีที่แล้ว

      Saludos Vianey.
      Por el momento en Angular tengo en modo texto el curso:
      www.tutorialesprogramacionya.com/angularya/

  • @joaquingutierrezfranco6928
    @joaquingutierrezfranco6928 2 ปีที่แล้ว

    te iba a consultar, antes de ver el video, se me ocurrio que se podria generar una estructura que apunte al nodo anterior...
    struct nodo{
    int info;
    struct nodo *ant, *izq, *der;
    };
    se podria generar algo asi o no?

  • @federicoacosta9607
    @federicoacosta9607 3 ปีที่แล้ว

    no usas recursividad en los arboles?

    • @diegomoissetdeespanes
      @diegomoissetdeespanes  3 ปีที่แล้ว

      Para insertar es más conveniente utilizar una estructura repetitiva en lugar de la recursividad.
      Pero los recorridos si son recursivos.

    • @federicoacosta9607
      @federicoacosta9607 3 ปีที่แล้ว

      @@diegomoissetdeespanes OK! Gracias por la respuesta!

  • @frn5140
    @frn5140 2 ปีที่แล้ว

    Al algoritmo de push lo hice de esta forma utilizando el operador ternario:
    void push(struct Tree *new, int elem_to_insert) {
    struct Tree *new_tree = malloc(sizeof(*new_tree));
    new->info = elem_to_insert;
    if (new->root == NULL) {
    new->root = new_tree;
    } else {
    struct Tree *previous = NULL, *dummy = new->root;
    while (dummy != NULL) {
    previous = dummy;
    (elem_to_insert < dummy->info) ? (dummy = dummy->left) : (dummy = dummy->right);
    }
    (elem_to_insert < previous->info) ? (previous->left = new_tree) : (previous->right = new_tree);
    }
    ++new->tree_size;
    }
    Se me ocurrio sobre la marcha. Mi pregunta es: Puedo usar de esa forma al operador ternario (sin ningun tipo de variable)?

    • @diegomoissetdeespanes
      @diegomoissetdeespanes  2 ปีที่แล้ว +1

      Si, no hay ningún problema para tener un código más conciso:
      void insertar(int x)
      {
      struct nodo *nuevo;
      nuevo = malloc(sizeof(struct nodo));
      nuevo->info = x;
      nuevo->izq = NULL;
      nuevo->der = NULL;
      if (raiz == NULL)
      raiz = nuevo;
      else
      {
      struct nodo *anterior, *reco;
      anterior = NULL;
      reco = raiz;
      while (reco != NULL)
      {
      anterior = reco;
      (xinfo)?(reco = reco->izq):(reco = reco->der);
      }
      (x < anterior->info)?(anterior->izq = nuevo):(anterior->der = nuevo);
      }
      }