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?

o inicia sesi贸n.

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 鈥淧ara 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 鈥淓n 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.
鈥淭odos los humanos (nodos) estan enlazados(edges) entre si)鈥

Arbol: Parte de un padre
Grafos: Conjuntos de pares

  • G = (V, E)
    鈥揋: Grafo
    鈥揤: Set de nodos
    鈥揈: 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!