首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
对于一个使用邻接表存储的有向图G,可以利用深度优先遍历方法,对该图中结点进行拓扑排序。 其基本思想是:在遍历过程中,每访问一个顶点,就将其邻接到的顶点的入度减1,并对其未访问的、入度为0的邻接到的顶点进行递归。 写出在遍历图的同时进行拓扑排序的算法。
对于一个使用邻接表存储的有向图G,可以利用深度优先遍历方法,对该图中结点进行拓扑排序。 其基本思想是:在遍历过程中,每访问一个顶点,就将其邻接到的顶点的入度减1,并对其未访问的、入度为0的邻接到的顶点进行递归。 写出在遍历图的同时进行拓扑排序的算法。
admin
2019-08-15
51
问题
对于一个使用邻接表存储的有向图G,可以利用深度优先遍历方法,对该图中结点进行拓扑排序。
其基本思想是:在遍历过程中,每访问一个顶点,就将其邻接到的顶点的入度减1,并对其未访问的、入度为0的邻接到的顶点进行递归。
写出在遍历图的同时进行拓扑排序的算法。
选项
答案
算法 void dfs(AdjList g,vertype v){ //以顶点v开始深度优先遍历有向图g,顶点信息就是顶点编号 ArcNode*t; //指向边结点的临时变量 printf(”%d”,v); visited[v]=1 ; P=g[v].firstarc; while(P!=null){ j=p一>adjvex; if(visited[j]==1&&finished[j]==0)flag=0; //dfs结束前出现回边 else if(visited[j]=:0){dfs(g,j);finished[j]=1;} P=P一>next; }//while t=(ArcNode*)malloc(sizeof(ArcNode)); //申请边结点 t一>adjvex=V;t一>next=final;final=t; //将该顶点插入链表 }//dfs结束 int dfs_Topsort(Adjlist g){ //对以邻接表为存储结构的有向图进行拓扑排序,拓扑成功返回1,否则返回0 i=1; while(flag&&i<=n) if(visited.[i]==0){dfs(g,i);finished[i]=1;}//if return(flag); } 提示:此题考查的知识点是图的遍历。对有向图进行深度优先遍历可以判定图中是否有回路。若从有向图某个顶点v出发遍历,在dfS(v)结束之前,出现从顶点u到顶点v的回边,图中必存在环。由于dfs产生的是逆拓扑排序,故设一类型是指向邻接表的边结点的全局指针变量final,在dfs函数退出时,把顶点v插入到final所指的链表中,链表中的结点就是一个正常的拓扑序列。
解析
转载请注明原文地址:https://jikaoti.com/ti/wsGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1939年前后,中国政治思想界展开关于三民主义问题争论的根本原因是()。
赫尔岑和车尔尼雪夫斯基是()的杰出代表人物。
近代中国第一所外语学校同时也是最早的新式学堂是()。
七七事变爆发后,中共中央将减租减息写进了()。
相对于单一内核结构,采用微内核结构设计实现操作系统具有诸多好处,但是,()并不是微内核的优势。
在一个双链表中,在*p结点之前插入*q结点的操作是()。
给定集合S={0,1,2,3,4),以及优先关系R={0<1,1<4,1<2,2<3,2<4,4<0)。(1)R是偏序关系吗?(2)证明你的结论。
由元素序列(27,16,75,38,51)构造平衡二叉树,则首次出现的最小不平衡子树的根(即离插入结点最近且平衡因子的绝对值为2的结点)是()。
假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。设某单面磁盘旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁
偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是_______。
随机试题
因此受了蛊惑,昧却灵性而赞叹者,也还可恕的。
Afterhefinishedtheassignment,hefoundsome(addition)______exercisestodo.
冠状动脉硬化性心脏病患者,手术耐受力极差,除急症抢救外,应推迟手术。
清肝火、散郁结的药物是
治疗铅中毒的首选药物是
来访者询问:“我该与谁结婚?”治疗师不予明确答复,这属于心理治疗原则中的
患者,女性,26岁。急性白血病。化疗期间患者发生了尿酸性结石。护士可观察到的临床表现是
区域型营销组织的结构包括()。
关于恶性淋巴瘤,以下哪项是错误的()。
Applet不能继承以下哪个类的方法?()
最新回复
(
0
)