Jump to content
php.lv forumi

Search the Community

Showing results for tags 'kruskal'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • PHP
    • Interesanti palasīties
    • Iesācējiem
    • Vispārēji
    • Gatavi skripti
    • Freimworki, CMS
    • Datubāzes
  • Infrastruktūra, serveri, serveru programmatūra
    • Instalācija un konfigurācija
    • Hostinga piedāvājumi
    • Hostinga novērtējumi un atsauksmes
  • Pārlūkprogrammas daļa
    • HTML, XHTML
    • CSS
    • Javascript
    • Citas pārlūku vides un pārlūku valodas
    • Pārlūkprogrammas
  • Citas lietas
    • Darbs
    • Drošība
    • Manas lapu/darba novērtēšana
    • Saites uz noderīgiem resursiem
    • eKomercija un ePakalpojumi
  • php.lv
    • Netēma
    • Atsauksmes, ierosinājumi, lamu vārdi
    • Draza
  • Arhīvs
    • PHP
    • (X)HTML, CSS
    • php.lv

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 1 result

  1. Ir mājasdarbs (http://susurs.mii.lu.lv/juris/courses/Alg2015/Hw/progr_assign_2015.pdf), kuru pildu izmantojot PHP. Ievaddati tiek ņemti no txt faila šāds ir kods: function Kruskal(&$G) { $len = count($G); // 1. Make T the empty tree $T = array(); // 2. Make a single node trees (sets) out of each vertex $S = array(); foreach (array_keys($G) as $k) { $S[$k] = array($k); } // 3. Sort the edges $weights = array(); for ($i = 0; $i < $len; $i++) { for ($j = 0; $j < $i; $j++) { if (!$G[$i][$j]) continue; $weights[$i . ' ' . $j] = $G[$i][$j]; } } asort($weights); $weights = array_reverse($weights); var_dump($weights); $summa = 0; foreach ($weights as $k => $w) { list($i, $j) = explode(' ', $k); $iSet = find_set($S, $i); $jSet = find_set($S, $j); if ($iSet != $jSet) { $summa += $w; $T[] = "Edge: ($i, $j)"; union_sets($S, $iSet, $jSet); } } var_dump($summa); return $T; } function find_set(&$set, $index) { foreach ($set as $k => $v) { if (in_array($index, $v)) { return $k; } } return false; } function union_sets(&$set, $i, $j) { $a = $set[$i]; $b = $set[$j]; unset($set[$i], $set[$j]); $set[] = array_merge($a, $b); } $mst = Kruskal($matrix); foreach ($mst as $v) { echo $v . "<br>"; } šāds sanāk masīvs ar grafu, kuru padod funkcijai Kruskal: $G = array( 0 => array( 0,40,36,0,97,-77,0,81,0,36), 1 => array( 40,0,0,0,50,41,0,57,69,4), 2 => array( 36,0,0,26,36,82,55,0,87,0), 3 => array( 0,0,26,0,14,75,0,61,1,58), 4 => array( 97,50,36,14,0,2,55,66,15,76), 5 => array( -77,41,82,75,2,0,0,0,18,0), 6 => array( 0,0,55,0,55,0,0,0,0,0), 7 => array( 81,57,0,61,66,0,0,0,0,93), 8 => array( 0,69,87,1,15,18,0,0,0,99), 9 => array( 36,4,0,58,76,0,0,93,99,0), ); Summai vajadzētu būt 615, bet man sanāk 738. Kur varētu būt problēma?
×
×
  • Create New...