elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Algoritmo de Dijkstra en Visual Basic
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Algoritmo de Dijkstra en Visual Basic  (Leído 13,617 veces)
laukibuk

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Algoritmo de Dijkstra en Visual Basic
« en: 16 Enero 2008, 16:39 pm »

Hola, tengo que hacer un programa en visual basic que implemente el Algoritmo de Dijkstra y estoy completamente perdida porque no tengo ni idea de visual. En la carrera solo he visto C y Java... Alguien me puede echar una mano??

Muchas gracias!!!


En línea

Dynamique


Desconectado Desconectado

Mensajes: 401



Ver Perfil
Re: Algoritmo de Dijkstra en Visual Basic
« Respuesta #1 en: 16 Enero 2008, 16:44 pm »

Sino sabes VB ..

Aqui te lo dejo en C++ xq en VB no lo encontre


Código
  1. #include <map>
  2. #include <queue>
  3. using namespace std;
  4.  
  5. #define X first
  6. #define Y second
  7.  
  8. template <class Node, class Edge=int> class Dijkstra {
  9.   public:
  10.   Dijkstra() {}
  11.   Dijkstra(const Node &n, const Edge &e=0) { push(n, e); }
  12.   bool empty() const { return q.empty(); }
  13.   void push(const Node &n, const Edge &e=0) {
  14.      Iter it = m.find(n);
  15.      if (it == m.end()) it = m.insert(make_pair(n, e)).X;
  16.      else if (it<>Y > e) it->Y = e;
  17.      else return;
  18.      q.push(make_pair(e, it));
  19.   }
  20.   const Node &pop() {
  21.      cur = q.top().Y;
  22.      do q.pop();
  23.      while (!q.empty() && q.top().Y->Y < q.top().X);
  24.      return cur->X;
  25.   }
  26.   const Edge &dist() const { return cur->Y; }
  27.   void link(const Node &n, const Edge &e=1) { push(n, cur->Y + e); }
  28.  
  29.   private:
  30.   typedef typename map<Node, Edge>::iterator Iter;
  31.   typedef pair<Edge, Iter> Value;
  32.   struct Rank : public binary_function<Value, Value, bool> {
  33.      bool operator()(const Value& x, const Value& y) const {
  34.         return x.X > y.X;
  35.      }
  36.   };
  37.   map<Node, Edge> m;
  38.   priority_queue<Value, vector<Value>, Rank> q;
  39.   Iter cur;
  40. };
  41.  
  42. // Ejemplo de uso (nodos y arcos están representados con enteros)
  43. int shortestDistance(int nodes, int startNode, int endNode, int **dists) {
  44.   Dijkstra<int> dijkstra(startNode);
  45.   while (!dijkstra.empty()) {
  46.      int curNode = dijkstra.pop();
  47.      if (curNode == endNode)
  48.         return dijkstra.dist();
  49.      for (int i = 0; i < nodes; i++)
  50.         if (dists[curNode][i] >= 0) // "i" es un vecino de curNode
  51.            dijkstra.link(i, dists[curNode][i]); // añade arco con peso
  52.   }
  53.   return -1; // Ningún camino encontrado
  54. }


En línea

Código
  1. <?php echo "Hello, I am Dynamique"; ?>
cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Algoritmo de Dijkstra en Visual Basic
« Respuesta #2 en: 16 Enero 2008, 16:50 pm »

 Pero si tenes varios ejemplos en otros lenguajes, os tocara traducirlo:
http://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra
En línea

laukibuk

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Algoritmo de Dijkstra en Visual Basic
« Respuesta #3 en: 16 Enero 2008, 17:33 pm »

Muchas gracias, el problema que tengo es que me piden que lo haga en visual, yo lo tenia en java de un ejercicio de clase, pero cuando se lo comente me dijo que no podia ser, que el proyecto estaba pensado para visual basic. Le echare un vistazo a ese en c a ver si puedo sacar algo en claro.

En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: Algoritmo de Dijkstra en Visual Basic
« Respuesta #4 en: 17 Enero 2008, 07:32 am »

Aca hay una excelente implementacion del algoritmo en VB mas ejemplo.

http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=59974&lngWId=1
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Algoritmo para un ejercicio; ¿Doble dijkstra?
Programación General
astinx 2 3,732 Último mensaje 16 Febrero 2012, 19:27 pm
por astinx
[Grafo] Base para el Algoritmo de Dijkstra
Programación C/C++
AlbertoBSD 1 3,258 Último mensaje 8 Agosto 2016, 05:01 am
por class_OpenGL
Auxilio con ALGORITMO DE DIJKSTRA!!!!! :'c
Programación C/C++
axel19 1 2,505 Último mensaje 3 Junio 2018, 10:23 am
por MAFUS
Algoritmo de Dijkstra
Programación C/C++
castrokin 1 4,041 Último mensaje 6 Agosto 2021, 09:15 am
por fzp
Algoritmo Dijkstra
Programación C/C++
castrokin 0 2,085 Último mensaje 6 Marzo 2022, 02:56 am
por castrokin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines