国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)先非遞歸遍歷的評論 (共 條)

分享到微博請遵守國家法律
株洲市| 芜湖县| 介休市| 汝州市| 阳春市| 商丘市| 若尔盖县| 浦东新区| 阿合奇县| 增城市| 磐安县| 平原县| 盐山县| 尼木县| 政和县| 景德镇市| 台南县| 波密县| 崇义县| 桓仁| 会昌县| 镇坪县| 宁陵县| 南乐县| 新营市| 台湾省| 大丰市| 文昌市| 定西市| 乌海市| 蓝山县| 渭南市| 石家庄市| 新郑市| 绥阳县| 诸城市| 泸溪县| 瓮安县| 白银市| 洪雅县| 三原县|