Мала помош за влез во програмирање

Член од
26 јануари 2009
Мислења
8.582
Поени од реакции
10.853
Се согласувам дека мора да се напредува и тоа е нешто што на голем дел од луѓето му недостига. Еднаш ако поминат нешто „си легнуваат на брашното“ и толку, сум сретнал и инженери кои уште имаат калкулатор на маса и собираат келнерска математика, а имаат пред нив машини дадени од фирмата од по 1000евра, само Ексел е за глупи :)

Не е за тоа апликацијата, на кратко: прави комбинаторика од сите дадени случаи за изведба на една иста ситуација и во однос на претходно зададени параметри му ја избира најоптималната, а потоа резултатите ги полни во Ексел во кој во првиот шит влегуваат овие податоци, а во останатите екселот си ги повлекува преку power query и прави дополнителна визуелизација со графикони и анализи. (проект што човек го работи рачно 2 недели, со овие скрипти се завршува грубо во 1-2 денови при што на крај генерира ист сет на податоци кај сите што работат на проектот и ја олеснува понатамошна манипулација на податоците и импорт во база).

Еј јака работа алгоритмов, денеска полициски час и земав се позамарав малце :)


баш пробував со примеров од видеово од линкот што го постираше за Џајкстра и мислам дека работи :)


PHP:
$array = [
    "A" => [
        "C" => 3,
        "B" => 4,
        "E" => 7
    ],
    "B"=> [
        "A" => 4,
        "D" => 5,
        "C" => 6
    ],
    "C" => [
        "A" => 3,
        "E" => 8,
        "D" => 11,
        "B" => 6
    ],
    "D" => [
        "C" => 11,
        "E" => 2,
        "G" => 10,
        "B" => 5,
        "F" => 2
    ],
    "E" => [
        "C" => 8,
        "D" => 2,
        "G" => 5
    ],
    "F" => [
        "D" => 2,
        "G" => 3
    ],
    "G" => [
        "F" => 3,
        "D" => 10,
        "E" => 5
    ]

];



$zeroElement = "A";
$zeroValue = 0;

$lastElement = "F";

$lastElements = [];

echo "<pre>";

foreach($array[$zeroElement] as $subkey => $subvalue)
{
    $key = $zeroElement;

    $value = $zeroValue;

    $keyValues = [$key=>$value];

    $visited = [];

    $iteration = 1;

    while($key !== $lastElement)
    {
        $array[$key] = array_filter($array[$key], function ($v, $k) use (&$keyValues, $visited, $value){

            if(in_array($k, $visited))
            {
                return false;
            }

            if(!isset($keyValues[$k]))
            {
                $keyValues[$k] = $v + $value;
            }
            else
            {
                if($v + $value < $keyValues[$k])
                {
                    $keyValues[$k] = $v + $value;
                }
            }

            return true;
        }, ARRAY_FILTER_USE_BOTH);

        if($iteration === 1)
        {
            $minValue = $subvalue;

            $minKey = $subkey;
        }
        else
        {
            $minValue = min($array[$key]);

            $minKey = array_search($minValue, $array[$key]);
        }

        $visited[] = $key;

        $key = $minKey;

        $value = $minValue + $value;

        $iteration++;

    }

    if(empty($lastElements))
    {
        $lastElements[$lastElement] = $keyValues[$lastElement];
    }
    else
    {
        if($lastElements[$lastElement] > $keyValues[$lastElement])
        {

            $lastElements[$lastElement] = $keyValues[$lastElement];
        }
    }

}



print_r($lastElements);
на нет сигурно има други решенија, веројатно и каде каде пооптимални и пократки, а ништо чудно и да јави баг за специфични ситуации али го наоѓа најкраткиот пат од 2-3 примери што пробав
 

LepiDzoni

Profesionalen ulichen cigan
Член од
25 јули 2014
Мислења
843
Поени од реакции
1.464
Your mommas so fat not even Dijkstra is able to find a shortest path around her.
 
Член од
13 ноември 2013
Мислења
7
Поени од реакции
2
Ako moze eden sovet,

Koi online kursevi se najdobri za izucuvane na najosnovno pocetno nivo od Java, Ili opsto koi se najdobri odnosno vo koi najdobro e objasneto?
pluralsight, coursera, edx, tutsplus, codecademy...?
 
Член од
14 јануари 2015
Мислења
6.418
Поени од реакции
9.267
Ako moze eden sovet,

Koi online kursevi se najdobri za izucuvane na najosnovno pocetno nivo od Java, Ili opsto koi se najdobri odnosno vo koi najdobro e objasneto?
pluralsight, coursera, edx, tutsplus, codecademy...?
За почеток можеш и тука:


 
Член од
13 јули 2006
Мислења
7.443
Поени од реакции
6.504
Ako moze eden sovet,

Koi online kursevi se najdobri za izucuvane na najosnovno pocetno nivo od Java, Ili opsto koi se najdobri odnosno vo koi najdobro e objasneto?
pluralsight, coursera, edx, tutsplus, codecademy...?
Сите овие се Free


Бонус Java за Android Free

 
На врв Bottom