欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    有向无环图的关键路径(Critical path of directed acyclic graphs).doc

    • 资源ID:9240210       资源大小:52KB        全文页数:16页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    有向无环图的关键路径(Critical path of directed acyclic graphs).doc

    有向无环图的关键路径(Critical path of directed acyclic graphs)#包含iostream > <#包括<字符串>#包括<<栈>使用命名空间;#定义max_vertex_num 20typedef struct阿克诺德国际adjvex;/ /该弧所指向的顶点的位置struct阿克诺德* nextarc;/ /指向下一条弧的指针国际信息;/ /弧上的信息/ / / /该弧相关信息字符串信息; ArcNode;typedef struct VNode int数据;/ /顶点信息阿克诺德* firstarc;/ /指向第一条依附该顶点的弧的指针 VNode,adjlist max_vertex_num ;typedef struct adjlist顶点;/ /存储图int毒液,arcnum;/ /图的当前顶点数和弧数int类型;/ /图的种类标志 ALGraph;int入度 max_vertex_num = 0 ;/用于拓扑排序int CreateUG(algraph & G)cout <<“请输入图中顶点个数和边数:”;> > > > g.arcnum g.venum CIN;int i;为(i = 0;i < g.venum;i+)g.vertices 我。数据= I + 1;g.vertices 我。firstarc = null;为(i = 0;i < g.arcnum;i+)cout <<“请输入你要加入的边的信息:”;int v1,v2;> > > > V2 V1 CIN;阿克诺德*电流= g.vertices v1-1 firstarc ;阿克诺德P = g.vertices v1-1 firstarc ;如果(电流= = null)g.vertices v1-1 。firstarc =新阿克诺德;g.vertices v1-1 。firstarc -> adjvex = V2-1;g.vertices v1-1 。firstarc -> nextarc = null;别的而(电流!= null)P =电流;电流=电流-> nextarc;电流=新阿克诺德;电流- adjvex = V2-1;电流- > nextarc = null;P > nextarc =电流;电流= g.vertices V2-1 firstarc ;P = g.vertices V2-1 firstarc ;如果(电流= = null)g.vertices V2-1 。firstarc =新阿克诺德;g.vertices V2-1 。firstarc -> adjvex = v1-1;g.vertices V2-1 。firstarc -> nextarc = null;别的而(电流!= null)P =电流;电流=电流-> nextarc;电流=新阿克诺德;目前adjvex = v1-1 ->;电流- > nextarc = null;P > nextarc =电流;返回1;int CreateDG(algraph & G)cout <<“请输入图中顶点个数和边数:”;> > > > g.arcnum g.venum CIN;int i;为(i = 0;i < g.venum;i+)g.vertices 我。数据= I + 1;g.vertices 我。firstarc = null;为(i = 0;i < g.arcnum;i+)cout <<“请输入你要加入的边的信息:”;int v1,v2,信息;> > > > V2 V1 CIN > >信息;阿克诺德*电流= g.vertices v1-1 firstarc ;阿克诺德P = g.vertices v1-1 firstarc ;入度V2-1 + ;如果(电流= = null)g.vertices v1-1 。firstarc =新阿克诺德;g.vertices v1-1 。firstarc -> adjvex = V2-1;g.vertices v1-1 。firstarc -> nextarc = null;g.vertices v1-1 。firstarc ->信息=信息;别的而(电流!= null)P =电流;电流=电流-> nextarc;电流=新阿克诺德;电流- adjvex = V2-1;电流- > nextarc = null;电流->信息=信息;P > nextarc =电流;返回1;国际createdg1(algraph & G)cout <<“请输入图中顶点个数和边数:”;> > > > g.arcnum g.venum CIN;int i;为(i = 0;i < g.venum;i+)g.vertices 我。数据= I + 1;g.vertices 我。firstarc = null;为(i = 0;i < g.arcnum;i+)cout <<“请输入你要加入的边的信息:”;int v1,v2;> > > > V2 V1 CIN;阿克诺德*电流= g.vertices V2-1 firstarc ;阿克诺德P = g.vertices V2-1 firstarc ;如果(电流= = null)g.vertices V2-1 。firstarc =新阿克诺德;g.vertices V2-1 。firstarc -> adjvex = v1-1;g.vertices V2-1 。firstarc -> nextarc = null;别的而(电流!= null)P =电流;电流=电流-> nextarc;电流=新阿克诺德;目前adjvex = v1-1 ->;电流- > nextarc = null;P > nextarc =电流;返回1;int CreateGraph(algraph & G)cout <<“请输入图的种类标志:”;CIN > > G.kind;开关(G.kind)案例0:返回createug(G);/ /构造无向图案例1:返回createdg(G);/ /构造有向图案例2:返回createdg1(G);/ /构造逆邻接图默认值:返回0;在我 max_vertex_num = 0 ;bool TopologicalSort(algraph & G,栈< int > & T)<国际>的堆栈;int i;为(i = 0;i < g.venum;i+)如果(入度我 = = 0)S.push(我);int数= 0;而(!美国empty())我top() =美国;美国pop();T.push(我);+ +计数;阿克诺德* p = null;为(P = g.vertices 我。firstarc;P!= null;P = P - > nextarc)int W = P > adjvex;入度水;如果(入度W = = 0)S.push(W);如果(我我 + P >信息>我我们)我我们,我我 + P ->信息;如果(计数g.venum)cout <<“有向图中有环存在”<< endl;返回false;返回true;无效的关键(algraph & G)int k,DUT;堆栈<国际> T;如果(!TopologicalSort(G,T)返回;int v1 max_vertex_num ;为(k = 0;Kg.venum;K+)V1 K =我 g.venum-1 ;而(!T. empty())int i = t top();pop() T.;对于(阿克诺德* P = g.vertices 我。firstarc;P!= null;P = P - > nextarc)K = P > adjvex;大连理工= P ->信息;如果(V1 K - DUTV1 我)V1 我 = V1 K - DUT;为(j = 0;J < g.venum;j+)对于(阿克诺德*q = g.vertices J。firstarc;Q!= null;q = q > nextarc)K = Q > adjvex;大连理工= Q ->信息;如果(我 J = = V1 K - DUT)cout <<“关键路径:“<< g.vertices J。数据<<”<< g.vertices K。数据<< endl;main() intALGraph G;建立(G);阿克诺德*电流1;阿克诺德* P;为(int k = 0;Kg.venum;K+)cout << g.vertices K。数据<<”;阿克诺德*电流1 = g.vertices K。firstarc;而(电流1!= null)cout <<电流1 -> adjvex <<”;电流1 =电流1 -> nextarc;cout << endl;系统(“暂停”);CriticalPath(G);系统(“暂停”);为(int i = 0;i < g.venum;i+) /析构函数电流1 = P = g.vertices 我。firstarc;如果(电流1 = = null)继续;别的而(P!= null)P =电流1 -> nextarc;删除电流1;电流1 = P;返回1;

    注意事项

    本文(有向无环图的关键路径(Critical path of directed acyclic graphs).doc)为本站会员(rrsccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开