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

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

分享到微博請遵守國家法律
晴隆县| 铜陵市| 庐江县| 大田县| 大足县| 加查县| 胶南市| 青阳县| 敦煌市| 宁波市| 会泽县| 丰顺县| 新巴尔虎右旗| 芦溪县| 巍山| 贺兰县| 治多县| 保靖县| 湖南省| 武定县| 无极县| 安龙县| 黔西县| 上饶县| 扶沟县| 乐亭县| 沙湾县| 郓城县| 分宜县| 南江县| 叶城县| 靖江市| 枣强县| 新民市| 临朐县| 格尔木市| 红桥区| 新和县| 绥芬河市| 呼图壁县| 景谷|