• Gamilton sikli algoritmi: package
  • "Solution Exists: Following" + " is one Hamiltonian Cycle" ); for (int
  • 5-laboratoriya ishi Bajardi: Abdumalikov Nurdaulet Tekshirdi: Begimov O’ktam




    Download 1,19 Mb.
    Sana25.12.2023
    Hajmi1,19 Mb.
    #128251
    Bog'liq
    algo5
    127465

    O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
    MUHAMMAD AL-XOZAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI


    Algoritmlarni loyihalash


    5-laboratoriya ishi

    Bajardi:Abdumalikov Nurdaulet
    Tekshirdi: Begimov O’ktam
    5 - laboratoriya ishi






    1. 4-laboratoriya ishida tuzilgan graf uchun “Shajara” daraxti tuzilsin. Bunda orqaga qaytish algoritmidan foydalanilsin.




    1. Tuzilgan shajara daraxtidan Gamilton siklini berishi mumkin bo‘lgan yo‘nalish variantlari ajratilsin.

    3. Berilgan graf uchun “kommivoyajer masalasi” uchun tafsiya qilinadigan marshrut va uning narxi topilsin








    Gamilton sikli algoritmi:

    package hamilton;



    class Hamilton {
    final int V = 5;
    int path[];

    boolean isSafe(int v, int graph[][], int path[], int pos) {
    if (graph[path[pos - 1]][v] == 0)
    return false;
    for (int i = 0; i < pos; i++)
    if (path[i] == v)
    return false;
    return true;
    }

    boolean hamCycleUtil(int graph[][], int path[], int pos) {
    if (pos == V) {
    if (graph[path[pos - 1]][path[0]] == 1)
    return true;
    else
    return false
    ;
    }

    for (int v = 1; v < V; v++) {
    if (isSafe(v, graph, path, pos)) {
    path[pos] = v;
    if (hamCycleUtil(graph, path, pos + 1) == true)
    return true;
    path[pos] = -1;
    }
    }
    return false;
    }

    int hamCycle(int graph[][]) {
    path = new int[V];
    for (int i = 0; i < V; i++)
    path[i] = -1;
    path[0] = 0;
    if (hamCycleUtil(graph, path, 1) == false) {
    System.out.println("\nSolution does not exist");
    return 0;
    }
    printSolution(path);
    return 1;
    }

    void printSolution(int path[]) {
    System.out.println("Solution Exists: Following" +
    " is one Hamiltonian Cycle");
    for (int i = 0; i < V; i++)
    System.out.print(" " + path[i] + " ");
    System.out.println(" " + path[0] + " ");
    }

    public static void main(String args[]) {
    Hamilton hamiltonian =
    new Hamilton();

    /* (0)--(1)--(2)
    | / \ |
    | / \ |
    | / \ |
    (3)-------(4) */
    int graph1[][] = {{0, 1, 0, 1, 0},
    {1, 0, 1, 1, 1},
    {0, 1, 0, 0, 1},
    {1, 1, 0, 0, 1},
    {0, 1, 1, 1, 0},
    };
    hamiltonian.hamCycle(graph1);
    /*
    (0)--(1)--(2)
    | / \ |
    | / \ |
    | / \ |
    (3) (4) */
    int graph2[][] = {{0, 1, 0, 1, 0},
    {1, 0, 1, 1, 1},
    {0, 1, 0, 0, 1},
    {1, 1, 0, 0, 0},
    {0, 1, 1, 0, 0},
    };
    hamiltonian.hamCycle(graph2);
    }
    }
    Download 1,19 Mb.




    Download 1,19 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    5-laboratoriya ishi Bajardi: Abdumalikov Nurdaulet Tekshirdi: Begimov O’ktam

    Download 1,19 Mb.