早教吧作业答案频道 -->其他-->
数据结构中关于图拓扑排序算法有个地方不太明白希望能得到解答我先把整个算法写下了吧StatusToplogicalSort(ALGraphG){//有向图G采用邻接表存储结构//若G无回路,则输出G的顶点的一个拓扑序
题目详情
数据结构中 关于图拓扑排序算法 有个地方不太明白 希望能得到解答
我先把整个算法写下了吧
Status ToplogicalSort(ALGraph G){
//有向图G采用邻接表存储结构
//若G无回路,则输出G的顶点的一个拓扑序列并返回OK,否则ERROR.
FindInDegree(G,indegree); //对各顶点求入度indegree[0...vernum-1]
InitStack(S);
for(i =0;inextarc){
k=p-->adjevex
if(!(--indegree[k])) Push(S,k);//若入度减为0,则入栈
(终于码字码到这句了 我理解的是k是p指向的i的一个临界点,如果这个邻接点经过
--indegree入度减为0 则入栈 但是如果没减为0呢 --indegree[k]还要执行吗 我理解他是个条件啊 可是依照拓扑排序的思路 是要把i的邻接点入度都减1的)
}
}后面代码就不打了 主要是这一点 希望能解答下
我先把整个算法写下了吧
Status ToplogicalSort(ALGraph G){
//有向图G采用邻接表存储结构
//若G无回路,则输出G的顶点的一个拓扑序列并返回OK,否则ERROR.
FindInDegree(G,indegree); //对各顶点求入度indegree[0...vernum-1]
InitStack(S);
for(i =0;inextarc){
k=p-->adjevex
if(!(--indegree[k])) Push(S,k);//若入度减为0,则入栈
(终于码字码到这句了 我理解的是k是p指向的i的一个临界点,如果这个邻接点经过
--indegree入度减为0 则入栈 但是如果没减为0呢 --indegree[k]还要执行吗 我理解他是个条件啊 可是依照拓扑排序的思路 是要把i的邻接点入度都减1的)
}
}后面代码就不打了 主要是这一点 希望能解答下
▼优质解答
答案和解析
我知道你哪里不明白了,你没看见上面的for循环,1,如果不为0,则不执行if了,但执行for循环.2,执行for循环的目的就是把所有的入度减1,减为0的入栈.
看了 数据结构中关于图拓扑排序算法...的网友还看了以下:
如图,已知直线l:y=33x,过点A(0,1)作y轴的垂线交直线l于点B,过点B作直线l的垂线交y 2020-05-13 …
如图,在三角形ABC中,∠ACB=90°,AC=BC,直线l经过点C,AD⊥l于点D,BE垂直l于 2020-05-15 …
二面角α-l-β的平面角为120°,在面α内,AB⊥l于B,AB=2在平面β内,CD⊥l于D,CD 2020-06-03 …
一个圆锥曲线证明题(难度不小哦)在椭圆中,F为焦点,L为其对应准线,AB是长轴的端点,P是椭圆上异 2020-06-13 …
到直线L的距离等于2的点有?到直线L的距离等于2的点有几个?已知点M是直线l外的一点,作MN垂直l 2020-06-16 …
如图已知直线l与圆o相离,OA垂直l于点A,OA与圆O相交于点B用户名:小智怡|分类:1分钟前如图 2020-07-26 …
二面角α-l-β的平面角为120°,在面α内,AB⊥l于B,AB=2在平面β内,CD⊥l于D,CD 2020-07-31 …
几何模型:条件:如图1,A、B是直线l同旁的两个定点.问题:在直线l上确定一点P,使PA+PB的值 2020-08-01 …
几何模型:条件:如图1,A、B是直线l同旁的两个定点.问题:在直线l上确定一点P,使PA+PB的值 2020-08-01 …
(2001•福州)不过圆心的直线l交⊙O于C、D两点,AB是⊙O的直径,AE⊥l于E,BF⊥l于F. 2020-11-12 …