• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Algoritmos computacionales
 

Algoritmos computacionales

on

  • 1,597 views

 

Statistics

Views

Total Views
1,597
Views on SlideShare
1,371
Embed Views
226

Actions

Likes
0
Downloads
12
Comments
0

7 Embeds 226

http://alejandrocarrizalesgarcia.blogspot.com 143
http://alejandrocarrizalesgarcia.blogspot.mx 65
http://alejandrocarrizalesgarcia.blogspot.com.es 8
http://www.slideshare.net 4
http://alejandrocarrizalesgarcia.blogspot.com.ar 3
http://alejandrocarrizalesgarcia.blogspot.com.br 2
http://alejandrocarrizalesgarcia.blogspot.de 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Algoritmos computacionales Algoritmos computacionales Presentation Transcript

    • Algoritmos Computacionales
      Proyecto #5
    • Algoritmo de Prim
      El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas.
    • Arbol recubridor minimo
      un árbol recubridor mínimo de un grafo es un subgrafo que tiene que ser un árbol y contener todos los vértices del grafo inicial. Cada arista tiene asignado un peso proporcional entre ellos, que es un número representativo de algún objeto, distancia, etc.. , y se usa para asignar un peso total al árbol recubridor mínimo computando la suma de todos los pesos de las aristas del árbol en cuestión.
    • Árbol recubridor mínimo
    • En otras palabras, el algoritmo encuentra un subconjunto de aristas que forman un árbol con todos los vértices, donde el peso total de todas las aristas en el árbol es el mínimo posible.
      La complejidad asintótica de este algoritmo es O(n3).
    • Código en JAVA publicclassAlgorithms{publicstaticGraphPrimsAlgorithm (Graph g, int s){int n = g.getNumberOfVertices ();Entry[] table = new Entry [n];for (int v = 0; v < n; ++v)table [v] = new Entry ();table [s].distance = 0;PriorityQueuequeue =new BinaryHeap (g.getNumberOfEdges());queue.enqueue (new Association (new Int (0), g.getVertex (s)));while (!queue.isEmpty ()){Associationassoc = (Association) queue.dequeueMin();Vertex v0 = (Vertex) assoc.getValue ();int n0 = v0.getNumber ();if (!table [n0].known)
    • {table [n0].known = true;Enumeration p = v0.getEmanatingEdges ();while (p.hasMoreElements ()){Edgeedge = (Edge) p.nextElement ();Vertex v1 = edge.getMate (v0);int n1 = v1.getNumber ();Intwt = (Int) edge.getWeight ();int d = wt.intValue ();if (!table[n1].known && table[n1].distance>d){ table [n1].distance = d;table [n1].predecessor = n0;queue.enqueue (new Association (new Int (d), v1));}}}}Graphresult = new GraphAsLists (n);for (int v = 0; v < n; ++v)result.addVertex (v);for (int v = 0; v < n; ++v)if (v != s)result.addEdge (v, table [v].predecessor);returnresult;}}
    • Ejemplo