*   >> läser Utbildning artiklar >> science >> programming

Dijkstra & amp; rsquo; s Algorithm

Problem Uttalande: - Omdömen

Hitta den minimala uppspännande träd med hjälp av dijkstar algoritm Omdömen

Teori: - Omdömen

Ett träd är en krets. mindre sammanhängande graf. Låt G = (V, E) vara en sammanhängande graf. Omdömen

En subgraf T = (V1, E1) G är en spanning tree G iff,

  1. V1 = V

  2. E1 är en delmängd av E

  3. T är ett träd

    dijkstar'salgorithm är en girig metod för att få den kortaste vägen mellan varje vertex från en första hörnet och minimal uppspännande träd. Det bygger upp i trädet kanten av kanten.

    Kriterierna för att välja en kant som resulterar i en minimal ökning av summan av kostnaderna för kanterna hittills omfattat Omdömen

    Algoritm: -. Omdömen

    Algoritmen ges längden matris diagram som innehåller information om alla grafer kantlängden. Algoritmen börjar med en första hörnet v 0 med varje V tre mängder i samband. En statusdenoted efter status [v] som kommer att vara antingen '! "Omdömen

    innebär den kortaste vägen v för att v 0 har hittas,"? "Betyder att det inte har.

    En distancedenoted av dist [v] representerar längden på den kortaste vägen från V till V 0 hittas. Hittills har nextvertex betecknas med nästa v blir den snabba vertex på väg till v 0 längs den kortaste vägen hittades så långt från VTO v 0. Omdömen

    /* INITIALIZATION * /

    status [v 0] = '!' Omdömen

    dist [v 0] = 0 Omdömen

    nästa [v 0] = '*'

    för alla v ≠ v 0 Omdömen

    status [v] = '?' Omdömen

    dist [v] = l (v, v 0)

    nästa [v] = v 0 Omdömen

    slutet för iPhonen

    /* BEHANDLING * /News

    för det är kvar? hörn

    v * =? vertex som dist är minsta Omdömen

    status [v *] = '!' Omdömen

    för varje återstående? vertex v

    Om dist [v]> dist [v *] + l (v *, v) katalog

    dist [v]> dist [v *] + l (v *, v ) Review

    nästa [v] = v * Omdömen

    slutet om Omdömen

    slutet för iPhonen

    slutet för iPhonen

    Program kod: -

    #include Omdömen

    #include Omdömen

    void main () Review

    {Omdömen

    int en [17] [17], i, j , n, dist [12], min, R, S = 0;

    char status [12], nästa [12], v0, v [12], v1;

    clrscr ( ),

    printf ("\\ n \\ t \\ t \\ tDIJKSTAR algoritm");

    printf ("\\ n \\ t \\ t \\ t ---------- ---------- \\ n \\ n ");

    printf (" \\ Nenter antalet hörn: ");

    scanf ("% d ", & n );

    printf ("\\ Nenter längden matris av grafen:

    Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.