第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在鄰接矩陣中運(yùn)行 Dijkstra 算法后,線程“main”

在鄰接矩陣中運(yùn)行 Dijkstra 算法后,線程“main”

偶然的你 2023-06-21 15:01:13
我試圖在加權(quán)鄰接矩陣中運(yùn)行 Dijkstra 算法后打印最短路徑。嘗試打印路徑時(shí)出現(xiàn) stackoverflow 錯(cuò)誤。我已經(jīng)嘗試將起始節(jié)點(diǎn)更改為 long 和 BigInteger 類(lèi)型,正如該平臺(tái)上之前的答案所建議的那樣,我也知道我正在使用遞歸方法來(lái)解決該問(wèn)題。import java.util.*;public class djikstra {private static final int invalid = -1;public djikstra(int matrix[][],int start) {    int numVertices = matrix[0].length;    int [] distances = new int [numVertices];    boolean [] isAdded = new boolean[numVertices];    for (int i=0;i<numVertices;i++) {        distances[i]= Integer.MAX_VALUE;        isAdded[i] = false;    }    distances[(int) start]=0;    int [] parents = new int [numVertices];    parents[start] = invalid;    for(int i=1;i<numVertices;i++) {        int closestNeighbour = -1;        int shortDist = Integer.MAX_VALUE;    for(int j=0; j <numVertices;j++) {        if(!isAdded[j] && distances[j]<shortDist) {            closestNeighbour = j;            shortDist = distances[j];        }    }    isAdded[closestNeighbour]=true;    for(int j = 0; j <numVertices;j++) {        int edgeDist = matrix[closestNeighbour][j];        if(edgeDist > 0 && ((closestNeighbour+edgeDist)<distances[j])) {            parents[j] = closestNeighbour;            distances[j] = shortDist + edgeDist;        }    }}    printSol(start,distances,parents); }private static void printSol(int start,int[] distances,int[] parents) {    int numVertices=distances.length;    for(int i=0;i<numVertices;i++) {        if(i !=start) {            path(i,parents);        } }}private static void path(int curr,int[]parents) {    if(curr== -1) {        return;    }    path(parents[curr],parents);}}}   
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

StackOverflowError是由方法中的無(wú)限遞歸觸發(fā)的path。 parents[curr]永遠(yuǎn)不會(huì)保持-1(基本情況),因此遞歸永遠(yuǎn)不會(huì)停止。您需要確保最終path以 -1 調(diào)用curr



查看完整回答
反對(duì) 回復(fù) 2023-06-21
  • 1 回答
  • 0 關(guān)注
  • 169 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)