最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

數(shù)據(jù)結(jié)構(gòu)拓展習(xí)題:鄰接表的深度優(yōu)先非遞歸遍歷

2022-05-28 00:12 作者:回到唐朝當少爺  | 我要投稿

題目:一個連通圖采用鄰接表作為存儲結(jié)構(gòu),設(shè)計一個算法,實現(xiàn)從頂點v出發(fā)的深度優(yōu)先遍歷的非遞歸過程。

bool visited[MAX_VERTEX_NUM];

void DFS(ALGraph G, int v)

{

?????? Sqstack S;

?????? InitStack(S);

?????? visited[v] = true;

?????? Push(S, v);

?????? printf("%d ", G.vertices[v].data);

?????? ArcNode* p;

?????? while (!StackEmpty(S))

?????? {

????????????? p = G.vertices[GetTop(S)].firstarc;//p指向棧頂元素的第一個鄰接點

????????????? while (p)

????????????? {

???????????????????? if (visited[p->adjvex] == false)//如果p指向的結(jié)點沒有被訪問

???????????????????? {

??????????????????????????? visited[p->adjvex] = true;//訪問該結(jié)點

??????????????????????????? printf("%d ", G.vertices[p->adjvex].data);

??????????????????????????? Push(S, p->adjvex);//將該結(jié)點入棧

??????????????????????????? p = G.vertices[p->adjvex].firstarc;//p指向該結(jié)點的第一個鄰接點

???????????????????? }

else//如果p指向的結(jié)點被訪問過,

??????????????????????????? p = p->nextarc; //則訪問該結(jié)點沒有被訪問過的鄰接點

????????????? }

????????????? if (p == NULL)

???????????????????? Pop(S);

?????? }

}

void DFS_Traverse(ALGraph G)

{

?????? for (int v = 0; v < G.vexnum; v++)

????????????? visited[v] = FALSE;

?????? for (int v = 0; v < G.vexnum; v++)

?????? {

????????????? if (!visited[v])

?????? ????????????? DFS(G, v);

?????? }

}


數(shù)據(jù)結(jié)構(gòu)拓展習(xí)題:鄰接表的深度優(yōu)先非遞歸遍歷的評論 (共 條)

分享到微博請遵守國家法律
凯里市| 云浮市| 苗栗市| 神木县| 炉霍县| 通榆县| 镇雄县| 仁布县| 枣阳市| 哈巴河县| 恩平市| 新晃| 康平县| 新兴县| 息烽县| 遵化市| 南汇区| 庐江县| 苏尼特右旗| 苍溪县| 江华| 西盟| 开鲁县| 汉阴县| 平陆县| 湄潭县| 汝阳县| 泽州县| 柏乡县| 安吉县| 高雄市| 青阳县| 鱼台县| 陈巴尔虎旗| 万荣县| 平乐县| 体育| 宜黄县| 任丘市| 东辽县| 太湖县|