999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數據結構中鄰接圖的深度遍歷非遞歸算法(C++)

2019-10-21 19:54:19王偉業路宇李曉寒
青年生活 2019年13期

王偉業 路宇 李曉寒

摘要:在數據結構課中,鄰接圖的深度遍歷往往采用遞歸算法,但遞歸算法有時存在后臺程序過多,導致運行慢的缺點。為了解決這一問題,下面給出鄰接圖的深度遍歷的非遞歸算法(C++)。

關鍵詞:鄰接圖 深度遍歷 非遞歸

一、結構體定義

圖采用鄰接表的形式存儲,分為頂點表和邊表,具體定義如下:

struct ArcNode ? ?//定義邊表節點

{

int adjvex; ? ? //臨界點域

ArcNode *next;

};

template

struct ?VertexNode ?//定義頂點表節點

{

DataType vertex;

ArcNode *firstedge;

};

二、算法描述

首先,引入棧stack[ ],數組visited[ ],該數組對于節點i,若i已被訪問,則visited[i]=1;若i還沒被訪問過,則visited[i]=0。頂點v開始,將v輸出并入棧,且將visited[v]設為1,然后通過兩層while循環,深度遍歷整個圖。

三、算法實現

template

void MGraph ::DFSTraverse(int v)

{

cout << adjlist[v].vertex;

visited[v]=1;

top=-1;

s[++top]=v;

while(top!=-1)

{

i=stack[top];

p=adjlist[i].firstedge;

while(p!=NULL)

{

t=p->adjvex;

if(visited[t]==0)

{

visited[v]=1;

cout<

stack[++top]=t;

break;

}

else p=p->next;

}

if(p==NULL) ?top--;

}

}

四、算法總結

該算法利用了雙層的while循環,從而達到了遞歸算法的效果,雖代碼長度比遞歸算法長,但優化了算法的運行速度,更適合點集很大的圖使用。

主站蜘蛛池模板: 综1合AV在线播放| 国产自产视频一区二区三区| 亚洲综合在线网| 亚洲人网站| 99热最新网址| 中文字幕日韩丝袜一区| 亚洲成人精品| 亚洲成综合人影院在院播放| 亚洲无线国产观看| 国产小视频网站| 国产免费人成视频网| 欧美日韩国产一级| 日本日韩欧美| 亚洲成aⅴ人片在线影院八| 极品国产在线| 国产亚洲现在一区二区中文| 免费一级无码在线网站| 久久99精品国产麻豆宅宅| 成人午夜久久| 在线观看视频99| 久草网视频在线| 欧洲日本亚洲中文字幕| 在线国产三级| 国产第八页| 丁香婷婷久久| 亚洲日本www| 亚洲无码视频图片| 亚洲人妖在线| 国产无码精品在线播放| 狠狠色综合久久狠狠色综合| 四虎精品黑人视频| 日韩小视频在线播放| 日韩av资源在线| 中文字幕在线日本| 欧美综合区自拍亚洲综合天堂| 久操中文在线| 国产成人做受免费视频| 99资源在线| 国产乱论视频| 伦精品一区二区三区视频| 日韩精品成人网页视频在线| 成人国产精品视频频| 狠狠ⅴ日韩v欧美v天堂| 成人午夜视频网站| 久久精品波多野结衣| 久久综合五月婷婷| 亚洲天堂视频网站| 亚洲第一视频免费在线| 国产精品偷伦在线观看| 久久香蕉国产线看观看式| 国产精品手机视频一区二区| 亚洲国产无码有码| 一级毛片免费观看不卡视频| 免费av一区二区三区在线| 久久国产精品波多野结衣| 久久久受www免费人成| 国产精品久久久久久久久久久久| 特级欧美视频aaaaaa| 亚洲精品无码专区在线观看| 欧美黄网站免费观看| 日本不卡免费高清视频| 日韩毛片在线视频| 日本三级精品| 亚洲日韩每日更新| 亚洲精品无码不卡在线播放| 久久99蜜桃精品久久久久小说| 欧美日韩v| 激情无码视频在线看| 亚洲天堂视频在线观看| 黄色三级毛片网站| 超薄丝袜足j国产在线视频| 久久免费看片| a毛片在线播放| 99人妻碰碰碰久久久久禁片| 视频一区亚洲| 欧洲成人免费视频| 直接黄91麻豆网站| 婷婷激情五月网| 欧美日韩在线第一页| 在线播放精品一区二区啪视频| 性欧美久久| 亚洲伊人久久精品影院|