0Pricing
C Academy · Lección

Árboles y grafos

Explore estructuras de árboles y grafos para representar datos jerárquicos y de redes

Árboles y grafos es una lección gratuita de C Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C Academy incluye 3 lecciones en total.

Árboles y grafos en C

Árboles y grafos en C

Los árboles y los grafos son estructuras de datos no lineales que se utilizan para representar datos jerárquicos y de redes.

En esta lección, aprenderá:

  • Cómo se estructuran los árboles y los grafos.
  • Cómo implementar un árbol binario en C.
  • Cómo representar grafos mediante listas y matrices de adyacencia.
Árboles y grafos — ilustración 1

¿Qué es un árbol?

¿Qué es un árbol?

Un árbol es una estructura de datos jerárquica formada por nodos.

Términos clave:

  • Raíz - El nodo superior.
  • Padre e hijo - Nodos conectados directamente.
  • Hoja - Un nodo sin hijos.

Ejemplo: nodo de un árbol binario

Ejemplo: nodo de un árbol binario

En C, un nodo de un árbol binario se define mediante una struct con punteros a los hijos izquierdo y derecho.

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *left, *right;
};

struct Node* createNode(int data) {
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = data;
    newNode->left = newNode->right = NULL;
    return newNode;
}

int main() {
    struct Node *root = createNode(10);
    return 0;
}

Recorrido de un árbol binario

Recorrido de un árbol binario

Métodos de recorrido:

  • Inorden (LNR) - Izquierda, nodo, derecha.
  • Preorden (NLR) - Nodo, izquierda, derecha.
  • Postorden (LRN) - Izquierda, derecha, nodo.

Ejemplo: recorrido inorden

Ejemplo: recorrido inorden

Este programa realiza un recorrido inorden de un árbol binario.

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *left, *right;
};

void inorder(struct Node *root) {
    if (root != NULL) {
        inorder(root->left);
        printf("%d ", root->data);
        inorder(root->right);
    }
}

int main() {
    struct Node *root = malloc(sizeof(struct Node));
    root->data = 10;
    root->left = NULL;
    root->right = NULL;
    inorder(root);
    return 0;
}

¿Qué es un grafo?

¿Qué es un grafo?

Un grafo es un conjunto de nodos (vértices) conectados mediante aristas.

Los grafos pueden ser:

  • Dirigidos - Las aristas tienen dirección.
  • No dirigidos - Las aristas no tienen dirección.

Representación de grafos

Representación de grafos

Los grafos se pueden representar mediante:

  • Matriz de adyacencia - Un arreglo bidimensional que representa las conexiones.
  • Lista de adyacencia - Una lista en la que cada nodo apunta a sus vecinos.

Recorrido de grafos

Recorrido de grafos

Métodos de recorrido habituales:

  • Búsqueda en anchura (BFS) - Visita todos los vecinos antes de avanzar a un nivel más profundo.
  • Búsqueda en profundidad (DFS) - Explora hasta donde sea posible antes de retroceder.

Resumen

Resumen

En esta lección, ha aprendido:

  • Cómo se estructuran los árboles y los grafos.
  • Cómo realizar recorridos de árboles.
  • Cómo se representan y recorren los grafos.

¡Con esto concluye la sección Estructuras de datos en C!

Árboles y grafos — ilustración 10

Preguntas frecuentes

¿La lección «Árboles y grafos» es gratis?

Sí — el texto completo de «Árboles y grafos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C Academy, actualiza a CoddyKit PRO. El curso de C Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Árboles y grafos»?

Explore estructuras de árboles y grafos para representar datos jerárquicos y de redes Practicas C Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C Academy?

No se requiere experiencia previa. C Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.

¿Cuánto tiempo toma la lección «Árboles y grafos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C Academy?

Sí. Cada lección de C Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Listas enlazadas
  2. Pilas y colas
  3. Árboles y grafos
← Volver a C Academy