Ir al contenido


Foto

Grafos


  • Por favor identifícate para responder
2 respuestas en este tema

#1 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 20 abril 2013 - 11:32

No tengo mucha idea de como desarrollar esto, jamas habia visto grafos y no tengo mucha idea de como hacer esto una implementación en C++ de grafos dirigidos y con pesos mediante una matriz de adyacencia, recibiendo como parámetro el valor máximo de nodos o vértices a crear
+ Defina un método para ingresar datos en dicho grafo, indicando los vértices v,w a conectar, la dirección de v->w o w->v así como el peso de dicho arco
+ Defina varios nodos y conexiones entre ellos de ejemplo


me podrian decir donde buscar, como empezar. Muchas gracias, si gustan compartir codigo tambien sera bienvenido para entender mejor :D
  • 0

#2 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 21 abril 2013 - 12:21

No tengo mucha idea de como desarrollar esto, jamas habia visto grafos y no tengo mucha idea de como hacer esto una implementación en C++ de grafos dirigidos y con pesos mediante una matriz de adyacencia, recibiendo como parámetro el valor máximo de nodos o vértices a crear
+ Defina un método para ingresar datos en dicho grafo, indicando los vértices v,w a conectar, la dirección de v->w o w->v así como el peso de dicho arco
+ Defina varios nodos y conexiones entre ellos de ejemplo


me podrian decir donde buscar, como empezar. Muchas gracias, si gustan compartir codigo tambien sera bienvenido para entender mejor :D

Hola algunmae,
¿Tu duda va en cuanto al contenido teórico? ¿O sólo en la práctica al llevar en C++? ¿O Ambas? Porque tus palabras marca cierta ambigüedad.
Se más concreto. Si es por lo primero y estimando que esto obedece al pedido de la cátedra de Algoritmos y Estructura de Datos te remito al libro "Estructura de Datos y algoritmos" de Aho, Hopcroft y otros (son varios los autores). Es quizá el libro más ampliamente citado.

Si es lo segundo entonces basta con una búsqueda en tu buscador favorito con un término evidente como "Graph adjacency matrix in C++". Este artículo es el primero en la lista de resultados con el talentoso y todopoderoso Google.  :D

Como para que vayas teniendo un norte sirve.  ;)

La idea básica es que definas un structure de modo que en éste tengas el valor booleano 0 o 1 para indicar si corresponde a una conexión y otro campo/atributo para almacenar el peso.

Luego defines la matriz de modo que el tipo de dato sea de la estructura previamente dada.

O incluso lo puedes hacer más simple: directamente asociar a que la posición (i,j) de la matriz indique el peso. Cuando se lee un valor 0 indica que no hay relación, y si hay un valor distinto (en realidad, mayor a cero) se asume que existe un arco y tal valor corresponde al peso.

El resto es recorrer la matriz en cierto orden (fila a fila, o columna a columna) e ir almacenando el valor pedido al usuario.

Saludos,
  • 0

#3 algunmae

algunmae

    Member

  • Miembros
  • PipPip
  • 31 mensajes

Escrito 21 abril 2013 - 12:30

excelente muchas gracias deberas
  • 0




IP.Board spam blocked by CleanTalk.