第一范文网 - 专业文章范例文档资料分享平台

算法与数据结构复习

来源:用户分享 时间:2025/8/6 17:31:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

(1)存储结构定义

顶点结构

vexdata firstin 表结点结构 (2) 算法设计

adjvex info firstarc int toposort (ALGraph G,int tpv[]){ //以逆邻接表为存储结构的有向图的拓扑排序

top=0;

for(i=0;i

findoutdegree(G,outdegree); // 对各顶点求出度

outdegree[p→adjvex]++; InitStack(&S); //初始化栈 for(i=0;i

if(outdegree[i]==0) Push(&S,i); //出度为零的顶点入栈 while(!Stack(S)){

Pop(&S,i);printf(G.adjlist[i].vextex); tpv[top++]=i;

for(p=G.adjlist[i].firstedge;p;p→next){

j=p→adjvex; outdegree[j]--; if(!outdegree[j]) Push(&S,j);

//出度为零的顶点入栈 }//for }//while

if(top

for(i=0;j=top-1;i< G.vexnum/2;i++,j--){//置逆输出 temp=tpv[i];tpv[i]=tpv[j];tpv[j]=temp;

}//for return 1;

}//else }//toposort

10. 设计算法,判断一个以邻接表为存储结构的无向图G是否连通有,若连通,则返回1,否则,返回0。int connect(ALGraph G){ //判断以邻接表为存储结构的无向图是否连通

flag=1;

for(i=0;i

if(visited[i]=0){ flag==0; breek; } return flag;

}// connect

void dfs(ALGraph G,int visited[],int v){ //采用深度优先遍历的算法思想 visited[v]=1;

p=G.ver[v].firstarc; while(p){

if(visited[p→adjvex]==0) dfs(G,visited,p→adjvex);

p=p→next; }//whike

}//dfs

17

18

搜索更多关于: 算法与数据结构复习 的文档
算法与数据结构复习.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1n9hl9kxun507xm0vys5_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top