Bienvenido al Curso

1

Introducción al curso básico de algoritmos y estructuras de datos

Introducción a los algoritmos

2

¿Qué entiende una computadora?

3

Lenguajes de programación

4

Estructuras de datos

5

¿Qué es un algoritmo?

6

Metodología para la construcción de un algoritmo

7

Variables y tipos de datos

8

User defined data types

9

Instalando Ubuntu Bash en Windows

10

Creando nuestro user defined data type

11

Abstract Data Types básicos: Lists, Stacks, Queues

12

Explicación gráfica Data Types básicos

13

Glosario de funciones para Abstract Data Types

14

Clases y objetos

15

Creando tu primera Queue: Arrays

16

Creando tu primera Queue: implementación.

17

Creando tu primera Queue: implementar la función enQueue

18

Creando tu primera Queue: implementar la función deQueue

19

Creando tu primera Queue: main code

Algoritmos de ordenamiento

20

Algoritmos de ordenamiento

21

Bubble sort

22

Bubble sort: implementación

23

Bubble sort: main code

24

Insertion sort

25

Desafío: implementa un algoritmo de ordenamiento

Recursividad

26

Recursividad

27

La función Factorial, calculando el factorial recursivamente

28

Manejo de cadenas de caracteres

29

Arte: Generando arte recursivo

Divide and conquer y programación dinámica

30

Divide and Conquer (divide y vencerás)

31

Qué es la programación dinámica (divide y vencerás v2.0)

32

MergeSort

33

Desafío: Buscar el algortimo más rápido de sort

34

Implementando QuickSort con Python

35

Implementando QuickSort con Python: main code

Algoritmos 'Greedy'

36

Qué son los Greedy Algorithm

37

Ejercicio de programación greedy

38

Ejercio de programación greedy: main code

Grafos y árboles

39

Grafos y sus aplicaciones

40

Árboles

¿Cómo comparar Algoritmos?

41

Cómo comparar algoritmos y ritmo de crecimiento

¿Qué sigue?

42

Cierre del curso y siguientes pasos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Grafos y sus aplicaciones

39/42
Recursos

Los graphos son mapas de set de nodos que tienen múltiples relaciones entre sí mediante enlaces (edges).

Los graphos no tienen estructura de cascada como los árboles binarios, pero comparten la lógica relacional.

Los graphos son definidos por G=(V,E), donde:

  • G = Representación del grapho
  • V = Set de nodos (vértices)
  • E = Enlaces (edges)

Los graphos son el pilar o los fundamentos que se ocupan en bases de datos modernas como es el caso de la base de datos de:

  • Las relaciones de amistad de Facebook
  • Las recomendaciones de Amazon
  • Los seguidores de Twitter

Aportes 41

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Teoría de grafos es un tema súper bonito en matemáticas que vale mucho la pena estudiar ya que provee una nueva manera de modelar matemáticamente problemas del día a día. Dicho lo anterior, dejo la definición formal de un árbol y un grafo esperando que le despierte la curiosidad a algún estudiante de éste curso:

  • Formalmente un grafo G (gráfica o graph) consiste en un conjunto finito no vacío V de objetos llamados vértices (nodos) y un conjunto E, posiblemente vacío, de subconjuntos de pares de V llamado aristas. Por lo tanto un grafo G es un par ordenado de conjuntos V y E que representan a sus vértices y aristas respectivamente y usualmente se escribe como G=(V,E). En algunos casos se incluyen funciones disjuntas que agregan más información sobre las aristas, como menciona Ricardo, como pesos, propiedades o dirección.

  • Se dice que una gráfica G es un árbol si es acíclica y conexa. Esto implica propiedades como que toda arista de un árbol es un puente o que dan origen a teoremas como “Para todo par de vértices u, v en V(T), donde T es un árbol, existe un uv-camino en T que es único” y “En todo árbol T, si n es el número de vértices (órden), entonces existen n-1 aristas (tamaño) en T”

Links:

Saludos!

  • 🍀 Árboles: Todas las partes nacen y tienen conexión (directa o indirecta) con un mismo tronco papá 👴👵
  • 🔁 Grafos: Todas las partes pueden salir de donde sea y sin ninguna lógica aparente. La única regla es que todos deben tener al menos una conexión con alguna otra parte 💠💫.

Btw, si queiren conocer un poco mas de Dijkstra,. Les recomiendo este articulo, esta bastante interesante
https://www.unocero.com/ciencia/djikstra-pionero-computo-distribuido/

He esperado este tema desde que inicié el curso. Siiiiiiiiiii

Jajajaja estaba tranquilamente escuchando la explicación y tomando una taza de café cuando de repente en el minuto 2:25 aparece la cara de Ricardo jajajajaja me hizo derramarlo xD

Un ejemplo del algoritmo de Dijkstra

La teoría de grafos nació a partir de la resolución del problema de los siete puentes(problema de los puentes de Königsberg), resuelto por el legendario matemático Leonard Euler.
![](

La Teoría de Gráficas es una técnica con la que se visualiza de forma global, holística o sistémica un problema. Esta técnica ayuda a comprender y análisis problemas de:

  • Procesos Estocásticos
  • Optimización lineal
  • Redes
  • Árboles de decisión
  • Probabilidad, etc.

Muy buena explicación de grafos, generalmente es algo más complejo de comprender.

El algoritmo Dijkstra es muy similar al concepto y al funcionamiento del protocolo de enrutamiento OSPF, inclusive tiene en cuenta los costos de cada enlace. Imagino que OSPF se basa originalmente en la idea de este algoritmo.

Me gusta el tema para problemas de transporte…

Si les interesa este tema, tomen el curso de matematicas discretas, esta muy interesante.

jajaj 😃 lo explicaste muy sencillo y si le entendí y lo bueno que usas ejemplos de casos reales

Grafos: lo que todo developer necesita para armar una red social.

Graphos
Mapas de set de nodos que tienen múltiples relaciones entre sí mediante enlace(edges).
G=(V,E):
G = Representación del grapho
V = Set de nodos (vértices)
E = Enlaces (edges)
Un grafo es una composición de un conjunto de objetos conocidos como nodos que se relacionan con otros nodos a través de un conjunto de conexiones conocidas como aristas.
Teoría de grafos
Estructura donde se almacena un conjunto de objetos en los cuales algunos pares de los objetos de alguna forma se conectan.
“Todos los humanos (nodos) estan enlazados(edges) entre si)”

Arbol: Parte de un padre
Grafos: Conjuntos de pares

  • G = (V, E)
    –G: Grafo
    –V: Set de nodos
    –E: Enlaces

Se dice uvee!! 🤣 Un saludo, buen curso!

Un grafo en su totalidad es un par ordenado compuesto por vértices (v) y aristas (e); donde en la gran mayoría de los casos los vértices son de cuantificación finita. El número de vértices que componen al grafo, son las que conocemos como orden. Existe también el concepto de grado que se corresponde al número de arcos al que pertenecen de forma externa y en cuanto a las aristas también conseguimos el concepto de bucle que no es más que una arista relacionada de diversas formas con el mismo nodo.

Bueno este si tiene muchísimo tema que va para un solo curso. Seria el colmo que los hiciera como lo anteriores 🤣

Ultimamemnte he pensado que los niveles de los mundos de Mario Bros, son árboles o grafos.

Es increible los insigths que se pueden ganar con la representación de grafo, desde la neurociencia hasta la economia, aquí un video por si quieren saber de algunas aplciaciones más https://www.youtube.com/watch?v=I_azSnFIUzA

  • Los árboles y grafos se usan para encontrar la mejor ruta, como en mapas o ruteo de paquetes.
  • Los grafos son una set de nodos que tienen múltiples relaciones entre si a través de enlaces.
  • Se representa G=(V,E), donde G: grafo, V: vertice, E: enlace
  • Los grafos son parte esencial en las bases de datos modernas, se usa para las relaciones de facebook, recomendaciones amazon.
  • Los grafos a diferencia de los Árboles no tienen una estructura de cascada.
  • El algoritmo de dijkstra, basada en grafos se usa para encontrar la ruta más corta.

Genial!! entiendo que los sistemas de recomendación de e-comerce o películas, se basan grafos e inteligencia artificial.

Interesanteee. Gracias!!

Gracias Ricardo muy buena explicación

Excelente expliaciôn!

Muy buena curso

Excelente curso, totalmente recomendado; muy buena sección de Grafos.😎

muy interesante

de hecho, los árboles son casos especiales de los grafos ya que no admiten ciclos

super info del algoritmo de Dijkstra aqui: https://www.cs.usfca.edu/~galles/visualization/Dijkstra.html

La verdad si me quede picado con esta clase!

Árboles para árboles de decisión.

que buena explicacion ni en la Universidad aprendi asi

Y así es como ha nacido GraphQl

Un grafo es una composición de un conjunto de objetos conocidos como nodos que se relacionan con otros nodos a través de un conjunto de conexiones conocidas como aristas.

Muy muy interesante!! Me recuerda mucho a la teoría planteada por el grandioso Stephen Wolfram para explicar la aún misteriosa y esquiva, teoria del todo! ❤️

En otra área de la ingeniería los grafos sirven para el sector de la logística. También creo que sirve para tomar decisiones en la IA. Muy interesante y a la vez sorprendente que existen cosas más desarrolladas con en estos conceptos. Tendrán datos de tiempo y personal necesario para realizar dichas obras maestras?

  1. Mis apuntes sobre: "Grafos y sus aplicaciones"
    Tress (árboles):
    Graphs (grafos): Es una estructura donde se van a tener un set de objetos, donde los pares de alguna manera van a estar relacionados.

Graph: G = (V, E)
V: set de nodos
E: Enlaces o nodos

Algoritmo de Djkstra: Encuentra la ruta más corta entre dos puntos.

Que buen tema!