µÚ7Õ ͼ½á¹¹
}
cout<<\°´ÁÚ½Ó±íÏÔʾ½á¹ûΪ£º\\n\for(i=0;i cout<<\°´ÄæÁÚ½Ó±íÏÔʾ½á¹ûΪ£º\\n\for(i=0;i (5)³ÌÐòÑÝʾÖ÷³ÌÐò´úÂë ³ÌÐòÖзֱð½¨Á¢Ò»¸öÓÐÏòͼG1ºÍÒ»¸öÓÐÏòÍøG2µÄÊ®×ÖÁ´±í£¬²¢°´ÁÚ½Ó±íºÍÄæÁÚ½Ó±íÁ½ÖÖÐÎʽÏÔʾËù½¨Á¢µÄµÄÊ®×ÖÁ´±íµÄÄÚÈÝ¡£ void main() { OLGraph G1,G2; GKind gk1=DG,gk2=DN; cout<<\½¨Á¢Ò»¸öÓÐÏòͼµÄÊ®×ÖÁ´±íG1:\\n\ CreateGraph_OLG(G1,gk1); cout<<\½¨Á¢Ò»¸öÓÐÏòÍøµÄÊ®×ÖÁ´±íG2:\\n\ CreateGraph_OLG(G2,gk2); cout<<\ÓÐÏòͼG1µÄÐÅϢΪ:\\n\ DisplyOLG(G1); cout<<\ÓÐÏòÍøG2µÄÐÅϢΪ:\\n\ DisplyOLG(G2); }³ÌÐòÔËÐÐÑÝʾ½á¹¹Îª£º -.183.- µÚ7Õ ͼ½á¹¹ ½¨Á¢Ò»¸öÓÐÏòͼµÄÊ®×ÖÁ´±íG1: ÊäÈë¶¥µãÊýºÍ±ß(»¡)Êývexnum arcnum:4 7¨L °´Ä³ÖÖ˳ÐòÊäÈë4¸ö¶¥µãµÄÖµ: 1 2 3 4¨L ÊäÈëͼÖÐ7Ìõ»¡µÄÐÅÏ¢u v: 1 2 1 3 3 1 3 4 4 1 4 2 4 3¨L ½¨Á¢Ò»¸öÓÐÏòÍøµÄÊ®×ÖÁ´±íG2: ÊäÈë¶¥µãÊýºÍ±ß(»¡)Êývexnum arcnum:4 7¨L °´Ä³ÖÖ˳ÐòÊäÈë4¸ö¶¥µãµÄÖµ: 1 2 3 4¨L ÊäÈëͼÖÐ7Ìõ»¡ºÍȨµÄÐÅÏ¢u v w: 1 2 8 1 3 5 3 1 2 3 4 4 4 1 6 4 2 7 4 3 3¨L ÓÐÏòͼG1µÄÐÅϢΪ: °´ÁÚ½Ó±íÏÔʾ½á¹ûΪ£º 0 (1): [0 2] [0 1] 1 (2): 2 (3): [2 3] [2 0] 3 (4): [3 2] [3 1] [3 0] °´ÄæÁÚ½Ó±íÏÔʾ½á¹ûΪ£º 0 (1): [3 0] [2 0] 1 (2): [3 1] [0 1] 2 (3): [3 2] [0 2] 3 (4): [2 3] ÓÐÏòÍøG2µÄÐÅϢΪ: °´ÁÚ½Ó±íÏÔʾ½á¹ûΪ£º 0 (1): [0 2 5] [0 1 8] 1 (2): 2 (3): [2 3 4] [2 0 2] 3 (4): [3 2 3] [3 1 7] [3 0 6] °´ÄæÁÚ½Ó±íÏÔʾ½á¹ûΪ£º 0 (1): [3 0 6] [2 0 2] 1 (2): [3 1 7] [0 1 8] 2 (3): [3 2 3] [0 2 5] 3 (4): [2 3 4] ˵Ã÷£º £¨1£©ÔÚ³ÌÐòÏÔʾµÄ½á¹ûÖУ¬µÚÒ»ÁС¢µÚ¶þÁзֱðΪ¶¥µãλÖõÄϱêºÍ¶¥µãµÄÖµ¡£¶ÔÓÚͼ£¬µ¥Á´±íÖеÄÿһÏî±íʾ¸Ã¶¥µã¼°ÆäÁÚ½ÓµãµÄϱꣻ¶ÔÓÚÍø£¬»¹ÒªÏÔʾÏàÓ¦»¡µÄȨֵ¡£ £¨2£©³ÌÐòÑÝʾÖÐËù½¨Á¢µÄÊÇͼ7.15ÖÐÓÐÏòͼ(a)ºÍÓÐÏòÍø(b)µÄÊ®×ÖÁ´±íµÄÒ»ÖÖ±íʾ¡£ £¨3£©´Ó´æ´¢½á¹¹¿ÉÒÔ¿´³ö£¬ÔÚÊ®×ÖÁ´±íÖкÜÈÝÒ×Ëã³öÒ»¸ö¶¥µãµÄ³ö¶ÈºÍÈë¶È£¬²¢ÇÒ½¨Á¢Ê®×ÖÁ´±íµÄʱ¼ä¸´ÔÓ¶ÈÓ뽨Á¢ÁÚ½Ó±íµÄʱ¼ä¸´ÔÓ¶ÈÏàͬ£¬¾ùΪO(n*e)¡£ËùÒÔÔÚÓÐÏòͼµÄÓ¦ÓÃÖУ¬Ê®×ÖÁ´±íÊÇÒ»¸öºÜÓÐÓõŤ¾ß¡£ 7.2.4ÎÞÏòͼµÄÁÚ½Ó¶àÖØ±í±íʾ·¨ ÔÚÎÞÏòͼµÄÁÚ½Ó±í±íʾÖУ¬Ã¿Ò»Ìõ±ß(v,w)¾ù³öÏÖÁ½´Î£¬¼´ÔÚ¶¥µãvµÄµ¥Á´±íÖÐÓж¥µãv¡¢w¹¹³ÉµÄ±ß½áµã£¬Í¬Ê±ÔÚ¶¥µãwµÄµ¥Á´±íÖÐÓж¥µãw¡¢v¹¹³ÉµÄ±ß½áµã¡£ÕâÑù£¬ÔڶԱ߽øÐÐËÑË÷µÄÓйØÎÊÌâÖУ¬Í¬Ò»Ìõ±ß³öÏÖÁ½´ÎÏÔÈ»»á´øÀ´Ò»Ð©²»±ã£»Í¬Ê±£¬µ±Í¼ÖеıßÊý½Ï´óʱÃ÷ÏÔÔö¼ÓÁËÄÚ´æ¿Õ¼äµÄÕ¼ÓÃÁ¿¡£Îª´Ë£¬ÏÂÃæ¸ø³öÎÞÏòͼµÄÁÚ½Ó¶àÖØÁ´±í±íʾ·¨¡£ 1£®ÁÚ½Ó¶àÖØ±íµÄ¶¨Òå ÔÚÁÚ½Ó¶àÖØ±íÖаüº¬Á´±íµÄÍ·½áµãºÍÁ´±íÖеı߽áµãÁ½ÖÖÀàÐ͵Ľáµã£¬Í¼7.16¸ø³öÁÚ½Ó¶àÖØ±íÖÐÍ·½áµãºÍ±ß½áµã½á¹¹µÄ½á¹¹Ê¾Í¼¡£ ÆäÖУ¬Í·½áµã°üº¬¶¥µãÐÅÏ¢Óò(data)¡¢Ö¸ÏòÒÀ¸½Óڸö¥µãµÄµÚÒ»Ìõ±ß½áµãµÄÖ¸ÕëÓò -.184.- µÚ7Õ ͼ½á¹¹ (firstedge)¡£±ß½áµã°üº¬ÅжϸñßÊÇ·ñ±»É¨Ãè¹ýµÄ±êÖ¾Óò(mark)¡¢¸Ã±ßÒÀ¸½µÄµÚÒ»¸ö¶¥µãλÖÃÓò(ivex)¡¢±ßÒÀ¸½µÄµÚ¶þ¸ö¶¥µãλÖÃÓò(jvex)¡¢Ö¸ÏòÏÂÒ»ÌõÒÀ¸½ÓÚivexµÄ±ßµÄÖ¸ÕëÓò(ilink)¡¢Ö¸ÏòÏÂÒ»ÌõÒÀ¸½ÓÚjvexµÄ±ßµÄÖ¸ÕëÓò(jlink)¡¢±ßµÄÐÅÏ¢£¨±ÈÈçȨֵ£©Óò(info)¡£ ÀýÈ磬ͼ7.17¸ø³öÎÞÏòͼµÄÒ»ÖÖÁÚ½Ó¶àÖØ±í±íʾ¡£ ÔÚÁÚ½Ó¶àÖØ±íÖУ¬ËùÓÐÒÀ¸½ÓÚͬһ¶¥µãµÄ±ßÁ´½ÓÔÚÒ»¸öÁ´±íÖУ¬ÓÉÓÚÒ»Ìõ±ßÒÀ¸½ÓÚÁ½¸ö¶¥µã£¬ËùÒÔÿ¸ö±ß½áµãͬʱ³öÏÖÔÚÁ½¸öÁ´±íÖС£ËùÒÔ£¬ÎÞÏòͼµÄÁÚ½Ó¶àÖØ±íÖб߽áµãµÄ¸öÊýÊÇÆäÁÚ½Ó±í±íʾÖб߽áµã¸öÊýµÄÒ»°ë¡£ÁÚ½Ó¶àÖØÁ´±íÖУ¬±íµÄÍ·½áµãÖ®¼äÊÇ˳Ðò´æ´¢½á¹¹£¬±ß½áµãËùÔÚµÄÁ´±íÊÇ·ÇÑ»·Á´±í£¬½áµãÖ®¼äµÄÏà¶ÔλÖÃÒ²ÊÇ×ÔÈ»Ðγɵ쬲»Ò»¶¨°´¶¥µãÐòÁкÅÓÐÐò¡£ËùÒÔ£¬ÎÞÏòͼµÄÁÚ½Ó¶àÖØ±í±íʾ·½Ê½ÊDz»Î¨Ò»µÄ¡£ 2£®ÁÚ½Ó¶àÖØ±íµÄ´æ´¢±íʾÓëʵÏÖ (1)ÁÚ½Ó¶àÖØ±í´æ´¢½á¹¹µÄÀàÐͶ¨Òå ÏÂÃæ·Ö±ð¸ø³ö±ß½áµã(EBox)¡¢¶¥µã½áµã(VexBox)¡¢ÁÚ½Ó¶àÖØÁ´±í(AMLGraph)µÄÀàÐͶ¨Òå¡£ struct EBox{ //±ß½áµãµÄ½á¹¹¶¨Òå int mark; //·ÃÎʱêÖ¾Óò int ivex,jvex; //±ßÒÀ¸½µÄÁ½¸ö¶¥µãµÄλÖà EBox *ilink,*jlink; //Ö¸ÏòÒÀ¸½Á½¸ö¶¥µãµÄÏÂÒ»Ìõ±ßµÄÖ¸ÕëÓò int info; //±ßµÄÏà¹ØÐÅÏ¢£¨ÈçȨֵ£©Óò }; struct VexBox{ //¶¥µã½áµã½á¹¹¶¨Òå VType data; //¶¥µãÐÅÏ¢ EBox *firsedge; //Ö¸ÏòµÚÒ»ÌõÒÀ¸½¸Ã¶¥µãµÄ±ß }; struct AMLGraph{ //¶¨ÒåÁÚ½Ó¶àÖØÁ´±íÀàÐÍ VexBox* xlist; //Á´±íÍ·½áµãÊý×éÖ¸Õë int vexnum,edgenum; //ÎÞÏòͼµÄ¶¥µãÊýºÍ±ßÊý GKind kind; }; (2)ÁÚ½Ó¶àÖØÁ´±íµÄ²éÕÒ²Ù×÷ º¯Êýint LocateVex_AMLG(AMLGraph G,VType u)·µ»Ø¶¥µãuÔÚͼGÖеÄλÖã¬Èç¹û²éÕÒʧ°ÜÔò·µ»Ø0Öµ¡£ -.185.- µÚ7Õ ͼ½á¹¹ int LocateVex_AMLG(AMLGraph G,VType u) { int i; for(i=0;i (3)½¨Á¢ÁÚ½Ó¶àÖØÁ´±íµÄË㷨ʵÏÖ º¯Êývoid CreateGraph_AMLG(AMLGraph& G,GKind kind)¸ù¾ÝͼµÄÀàÐÍ(kind)½¨Á¢Ò»¸öÎÞÏòͼ»òÎÞÏòÍøµÄÁÚ½Ó¶àÖØÁ´±í(G)¡£ void CreateGraph_AMLG(AMLGraph& G,GKind kind) { int i,j,k; VType u,v; EBox* pr; G.kind=kind; cout<<\ÊäÈë¶¥µãÊýºÍ±ßÊývexnum edgenum:\ cin>>G.vexnum>>G.edgenum; G.xlist=new VexBox[G.vexnum]; //Ϊ¶¥µãÊý×é·ÖÅäÄÚ´æ¿Õ¼ä cout<<\°´Ä³ÖÖ˳ÐòÊäÈë\.vexnum<<\¸ö¶¥µãµÄÖµ:\\n\ for(i=0;i -.186.-