1

そこで、Kruskal のアルゴリズム実装の int にある重みで Edge の配列をソートする Quicksort を実装してみました。オブジェクトの配列をプロパティでソートするためのJavaScriptの組み込み関数はありますか? この場合、それらの重量によって。最小重量から最大重量まで。

これが私のエッジクラスです。

    class Edge
    {            
        private int u;
        private int v;
        private int weight;

        public Edge(int i, int i2, int w)
        {
            u = i;
            v = i2;
            weight = w;
        }

        public int getU() {
            return u;
        }

        public int getV() {
            return v;
        }

        public int getWeight() {
            return weight;
        }
    }

クラスカルのコード

class MSTKruskal
    {           
        Edge[] mst(int[][] G)
        {
            Edge A[] =  new Edge[G.length - 1];               
            Forest aForest = new Forest(G.length);                
            Edge E[] = new Edge[(G.length * G.length - G.length)/2];
            int i3 = 0;
            for (int i = 0; i < G.length; i++)
            {
               for(int i2 = i+1; i2 < G.length; i2++)
               {                       
                   Edge anEdge = new Edge(i, i2, G[i][i2]);
                   E[i3] = anEdge;
                   i3++;
               }
            }
            print(E);          
            //QuickSort(E, 0, E.length);
            print(E);
            int index = 0;
            for (int i = 0; i < E.length; i++)
            {
                if (aForest.findSet(E[i].getU()) != aForest.findSet(E[i].getV()))
                {

                        A[index] = E[i];
                        index++;
                        aForest.union(E[i].getU(), E[i].getV());

                }
            }
            aForest.printA();
            return A;

        }
4

1 に答える 1