求必须通过指定两个点的最短路

    技术2022-05-20  68

    %% ****************求必须通过指定两个点的最短路****************** % 参数说明:                                                                                               // % W 表示图的权值矩阵, k1表示起点,k2表示终点,t1,t2表示两个指定的点         // % P 表示程序最终的到的路                                                                             // % d 表示路的长度                                                                                         // %% function [P d] = cn2shorf(W,k1,k2,t1,t2) % 注:路中重复的点记作一个点 [p1 d1] = n2shorf(W,k1,t1); [p2 d2] = n2shorf(W,t1,t2); [p3 d3] = n2shorf(W,t2,k2); dt1 = d1 + d2 + d3; [p4 d4] = n2shorf(W,k1,t2); [p5 d5] = n2shorf(W,t2,t1); [p6 d6] = n2shorf(W,t1,k2); dt2 = d4 + d5+ d6; if dt1 <dt2     d = dt1;     P = [p1 p2(2:length(p2)) p2(2:length(p3))]; else     d = dt2;     P = [p4 p5(2:length(p5)) p6(2:length(p6))]; end


    最新回复(0)