µÚ1²½£ºÔÚVÖÐÈÎȡһ¶¥µãv£¬V1?{v}£¬V2?V?V1£¬E1??£¬Ñ»·±äÁ¿¸³Öµk?0£»
µÚ2²½£º¶ÔÓÚËùÓÐÁ¬½ÓV1ºÍV2µÄ±ßeij?[vi,vj]£¬ÆäÖÐvi?V1£¬vj?V2£¬Èç¹û²»´æÔÚÁ¬½ÓV1ºÍV2µÄ±ßeij?[vi,vj]£¬Ëã·¨ÖÕÖ¹£¬ÎÞÖ§³ÅÊ÷£¬·ñÔò¼ÌÐøµÚ3²½£»
µÚ3²½£ºÈ¡Âú×ãw[u,v]?minw(eij)µÄ±ß[u,v]£¬ÆäÖÐu?V1£¬v?V2£¬Áî
vi?V1vj?V2V1?V1?{v}£¬V2?V2?{v}£¬E1?E1?{[u,v]}£¬k?k?1£»
µÚ4²½£ºÈç¹ûV2??£¬»òÕßk?n?1£¬µÃ×îС֧³ÅÊ÷T?(V,E1,w)£¬Ëã·¨ÖÕÖ¹£¬·ñÔòתµÚ2²½¡£
Àý9-2 ÓÃPrimËã·¨¹¹Ôìͼ9-1µÄ×îС֧³ÅÊ÷¡£
½â£º¸ù¾ÝPrimËã·¨£¬²»¶ÏÑ¡ÔñȨ×îСµÄ±ß£¬ÐÂÔö±ß±ØÐëÓëÒÑÑ¡±ßÁ¬Í¨ÇÒ²»¹¹³É»ØÂ·£¬ËùÑ¡±ß˳Ðò£º[v2,v7]£¬[v7,v8]£¬[v1,v2]£¬[v2,v3]£¬[v3,v4]£¬[v4,v5]£¬
[v5,v6]¡£¾ßÌå²½Öè¼ûͼ9-3(a)~(g)¡£
v8v1513 134181v5vv8v1513 134181v5v11 12 10 14138 143211 12 10 14138 1432vvvvv717v6v5vv717v6
(a) (b)
v8v1513 134181v8v1513 134181v5v11 12 10 14138 143211 12 10 14138 1432vvvvv717v6v717v6
(c) (d)
9
v8v1513 134181v5vv8v1513 134181v5v11 12 10 14138 143211 12 10 14138 1432vvvvv717v6v8vv717v6
(e) (f)
1513 13418111 12 10 14138 1432v5vvvv717v6
(g)
ͼ9-3
3¡¢ÆÆÈ¦·¨
ÆÆÈ¦·¨ºÍKruskalËã·¨µÄ·½ÏòÏà·´£¬Öð²½½«ÍøÂçÖÐȨ×î´óµÄ±ßÈ¥³ý£¬Ö±ÖÁÍøÂçÐγÉÖ§³ÅÊ÷¡£ÆÆÈ¦·¨Ò²³ÆÎªÆÆ»ØÂ··¨¡£¾ßÌåËã·¨Çë¶ÁÕß·ÂÕÕKruskalËã·¨»òPrimËã·¨½¨Á¢¡£
Àý9-3 ÓÃÆÆÈ¦·¨¹¹Ôìͼ9-1µÄ×îС֧³ÅÊ÷¡£
½â£º¸ù¾ÝÆÆÈ¦·¨£¬²»¶Ï½«È¨×î´óµÄ±ßÌÞ³ý£¬Ã¿²½ÌÞ³ý±ßʱ±ØÐ뱣֤ͼµÄÁ¬Í¨ÐÔ£¬Ã¿²½ÌÞ³ýµÄ±ß·Ö±ðΪ£º[v1,v4]£¬[v6,v7]£¬[v5,v8]£¬[v5,v6]£¬[v1,v8]¡£¾ßÌå²½Öè¼ûͼ9-4(a)~(e)¡£
v8v1513 1341v5vv8v1513 1341v5v11 12 10 14138 143211 12 10 14138 1432vvvvv717v6
v7v6
(a) (b)
10
v813 1341v5vvv813 134111 12 10138 1432v5vv11 12 10 14138 1432vvvvv7v6
v7v5v6
(c) (d)
v8v1v41311 12 10138 1432vvv7(e)
ͼ9-4
v6
ÌâÐÍII ÇóÍøÂçµÄ×î¶Ì·ÎÊÌâ
1¡¢DijkstraËã·¨
DijkstraËã·¨Êǵ±Ç°¹«ÈϵÄÇóÎÞ¸º¸³È¨ÓÐÏòͼ×î¶Ì·¾¶µÄ×îºÃËã·¨£¬DijkstraËã·¨²ÉÓñêºÅµÄ·½·¨£¬¿ÉÇó´Ó¶¥µãv1ÖÁÆäÓà¶¥µãµÄ×î¶Ì·¾¶¡£DijkstraËã·¨²½ÖèÈçÏ£º
µÚ1²½£ºk?1,È¡L1(v1)?0£»L1(vj)???(j?2,3,?,n)
È¡L1(v*)?minL1(vj)£¬A?{v1},A?V?A£¬
vj?Vd(v1,v1)?0£»
µÚ2²½£º¶ÔÓÚvj?A£¬k?k?1£¬
ÁîLk(vj)?min{Lk?1(vj),Lk?1(v*)?w(v*,vj)}£¬ È¡Lk(v*)??minL2(vj)£¬A?A?{v*}£¬A?A?{v*}£¬
vj?Ak?k?1£¬d(v1,v*)?Lk(v*)£»
µÚ3²½£ºÈôd(v1,v*)???£¬DÖÐv1ÖÁAµÄ·¾¶²»´æÔÚ£¬Ëã·¨ÖÕÖ¹£¬·ñÔò¼ÌÐøµÚ4²½£»
11
µÚ4²½£ºÈôk?n£¬ÔòÊä³ö×î¶Ì·¾¶µÄ³¤¶ÈLn(v1,v*)£¬Ëã·¨ÖÕÖ¹£¬·ñÔòתµÚ2²½¡£
ÉÏÊöDijkstraËã·¨¿ÉÒÔ¸ø³ö×î¶Ì·¾¶³¤¶ÈÊÇ·ñ´æÔÚ¼°Æä³¤¶È£¬Èç¹û»¹Òª¸ø³ö¾ßÌåµÄ×î¶Ì·¾¶£¬ÔòÒª½«Ã¿Ò»²½Lk(v*)ÖеÄv*¼Ç¼ÏÂÀ´£¬Í¬Ê±¼Ç¼ÆäǰÁж¥µã¡£
ÔڱȽϼòµ¥µÄ¸³È¨ÓÐÏòͼµÄʵ¼Ê¼ÆËãÖУ¬³£²ÉÓÃÒ»ÖÖ±í¸ñÐÎʽµÄDijkstraËã·¨¡£
Àý9-4 ÓÃDijkstraËã·¨Çóͼ9-5ËùÊ¾ÍøÂçÖдӶ¥µãv1µ½ÆäÓà¶¥µãµÄ×î¶Ì·¡£
v23v572 4 5v125 1 8v462v7v33v6
ͼ9-5
½â£º²ÉÓñí¸ñÐÎʽµÄDijkstraËã·¨£¬²½ÖèÈçÏ£º
vj k?1 v1v2??v?Vv3??v4v5v6v7 L1(vj) 0*???????? v*?v1£¬d(v1,v1)?L1(v*)?minL1(vj)?0£¬A?{v1}£»
vj k?2 v1v22*v?Vv35v4v5v6v7 L2(vj) 0*???????? v*?v2£¬d(v1,v2)?L2(v*)?minL2(vj)?2£¬A?{v1,v2}£¬Ç°Áж¥µãv1£»
vj k?3 v1v22*v?Vv34*v46v55v6v7 L3(vj) 0*???? v*?v3£¬d(v1,v3)?L3(v*)?minL3(vj)?4£¬A?{v1,v2,v3}£¬Ç°Áж¥µãv2£»
vj k?4 v1v22*v34*v45*v55v6v7 L4(vj) 0*???? 12