±±¾©½»Í¨´óѧ¼ÆËã»úöλÔÓéÀֵǼÈë¿ÚÏÂÔØöλÔÓéÀÖ¹Ù·½appÏÂÔØ¸¨µ¼°à±Ê¼Ç£¨Êý¾Ý½á¹¹£©(6)
±±¾©½»Í¨´óѧ /2009-04-04
if (v1!=v2) //v1=v2±íʾÕâÌõ±ßµÄÁ½¶ËÔÚͬһ¸ö¼¯ºÏÖÐ
{ printf(¡°(%d,%d)¡±,ge[i].bv, ge[i].tv);
set[v1]=v2; j++;
}
i++;
}
} //¸ÃËã·¨¿ÉÒÔ×Ô¼ºÄøö¼òµ¥µÄÀý×Ó×ßÒ»±é
(£±) Á½ÖÖËã·¨µÄ±È½Ï£ºPrimË㷨ʱ¼ä¸´ÔÓ¶ÈO(n**2),Óë±ßÊýÎ޹أ¬Êʺϱ߳íÃܵÄͼ
KruskalË㷨ʱ¼ä¸´ÔÓ¶ÈO(eloge) ÊʺÏÇó¶¥µã³íÃܵÄͼ
(£²) ×îСÉú³ÉÊ÷²»Î¨Ò»£¬Óò»Í¬µÄËã·¨µÃ³öµÄ×îСÉú³ÉÊ÷²»Í¬
6¹Ø½Úµã£¬ÖØÁ¬Í¨Í¼£¨ÒªÇó»áÅжÏÊÇ·ñÊÇÖØÁ¬Í¨Í¼£©
¹Ø½ÚµãµÄÌØÐÔ£ºÈôÉú³ÉÊ÷¸ù½áµãÓÐÁ½¸ö×ÓÊ÷£¬Æä±ÈÊǹؽڵã
ÈôÒ»¿Ã×ÓÊ÷µÄËùÓÐ×ÓËïûÓÐÖ¸ÏòÆä׿ÏȵĻرß
8. ×î¶Ì·¾¶»áÊÖ¹¤Çó¾ÍÐÐ
9. ÍØÆËÅÅÐò»áÊÖ¹¤ÅžÍÐÐ
£¨ÀûÓÃÉî¶ÈÓÅÏȱéÀúÍËÕ»µÄÄæÐòÁÐ P183£©
ÈôÇó²»³öÒ»¸öͼµÄÍØÆËÅÅÐò£¬Ôò˵Ã÷¸ÃͼÓлØÂ·¡£
10. ¹Ø¼ü·¾¶£¨»áÊÖ¹¤×ö£¬»áÇóʼþºÍ»î¶¯µÄ×îÔç×îÍíʱ¼ä£©
11. Aov:Óö¥µã±íʾ»î¶¯£¬»¡±íʾ»î¶¯¼äµÄÓÅÏȹØÏµµÄÓÐÏòͼ£¬³ÃΪ¶¥µã±íʾ»î¶¯µÄÍø
AoE: ¶¥µã±íʾʼþ£¬±ß±íʾ»î¶¯
DaG: ÓÐÏòÎÞ»·Í¼£¬¶¼ÄܽøÐÐÍØÆËÅÅÐò
µÚ¾ÅÕ£º²éÕÒ
£±. ˳Ðò²éÕÒ£º¼È¿É²é˳Ðò±íÒ²¿É²éÏßÐÔ±í£¨Éè¼àÊÓÉÚ£©
£². ·ÖÎöƽ¾ù²éÕÒ³¤¶È AsL=¡ÆPi*Ci (ÇóºÍÏÂÏÞi=1, ÉÏÏÞn)
Pi Ϊ²éÕÒ±íÖÐµÚ i¸ö¼Ç¼µÄ¸ÅÂÊ Ci=n-i+1
ÔڵȸÅÂʵÄÇé¿öÏ Pi=1/n ASL=(n+1)/2
ÔÚ²»µÈ¸ÅÂʵÄÇé¿öÏÂÒª¸ù¾Ý¹«Ê½·Ö±ðÇó³ö¸ÅÂÊPiºÍCi;
£³. ÓÐÐò²éÕÒ±í¡ªÕÛ°ë²éÕÒ
ÓÐÐò˳Ðò±í²Å¿ÉÓÃÕÛ°ë²éÕÒ£¬ÕÛ°ë²éÕÒµÄÅж¨Ê÷Ò»¶¨Òª»á¡£
±í³¤È·¶¨£¬Æ½¾ù²éÕÒ³¤¶ÈÈ·¶¨£¬Åж¨Ê÷µÄÍØÆË½á¹¹È·¶¨
n¸ö½áµãµÄÅж¨Ê÷Éî¶ÈΪ +1¡£
ÕÛ°ë²éÕÒ·¨ÔÚ²éÕÒ¹ý³ÌÖнøÐеıȽϴÎÊý×î¶à²»³¬¹ýÆäÅж¨Ê÷µÄÉî¶È¡£
Éè±í³¤Îªn=(2**h) ¨C1 ,²éÕҳɹ¦µÄ¸ÅÂÊÏàµÈ£¬²»³É¹¦µÄ¸ÅÂÊΪ0£¬²ÉÓöþ·Ö·¨²éÕÒ£¬ÎÊASLÊǶàÉÙ£¿Åж¨Ê÷ÊÇÉî¶ÈΪhµÄÂú¶þ²æÊ÷¡£
ASL=1/n(1*2**(1-1)+2*2**(2-1)+3*2**(3-1)¡.+h*2**(h-1))
ÁîS=1/n(1*2**0+2*2**1+3*2**2+¡.+h*2**(h-1))
S=2S-S=1/n[h*2**h-(2**0+2**1+¡.2**(h-1)) //ÆäÖÐСÀ¨ºÅÕýºÃΪÉî¶ÈΪhµÄÂú¶þ²æÊ÷µÄ×ܽáµãÊý¡£
=1/n[h*2**h-2**h +1]=1/n[(h-1)*2**h+1]=1/n[(log2(n+1)-1)*(n-1)+1]
=1/n[(n+1)log2(n+1)-n]=(n+1)/nlog2(n+1)-1
//ÊìϤÉÏÊöµÄÍÆµ¼·½·¨
£´. ·Ö¿é²éÕÒ
(£±) ÊÊÓÃÌõ¼þ£º·Ö¿éÓÐÐò±í
·Ö¿é²éÕÒ·½·¨µÄÆÀ¼Û P226
¶¼²ÉÓÃ˳Ðò²éÕÒ£¬ÔڵȸÅÂʵÄÇé¿öÏ·ּ¸¿éƽ¾ù²éÕÒ³¤¶È×îС(²Î¿´½Ì²Ä)
£µ. ÉèÓйؼü×ÖΪk1¡.kn,²éÕҳɹ¦µÄ¸ÅÂÊΪ2**-1, 2**-2 ¡.2**-n£¬²éÕÒ²»³É¹¦µÄ¸ÅÂÊΪ2**-n, (1)Èô´Ó×óÏòÓÒ˳Ðò²éÕÒ£¬ASLÊǶàÉÙ£¿
(2)´ÓÓÒÏò×ó˳Ðò²éÕÒ£¬ASLÊǶàÉÙ£¿
£¨3×ܵÄASLÊǶàÉÙ£¿
½â£º£¨1£©ASL=(¡Æi*2**-I)+(n+2**-n) // ÆäÖÐÇóºÍµÄÏÂÏÞÊÇi=1,ÉÏÏÞÊÇn¡£µÚÒ»²¿·ÖÊDzéÕҳɹ¦µÄASL£¬µÚ¶þ²¿·ÖÊDzéÕÒ²»³É¹¦µÄASL
=1*£¨2**-1£©+2*£¨2**-2£©+¡.+n*(2**-n)+n*(2**-n)
Áî S=1* (2**-1)+¡.+n*(2**-n)
S=2S-S=1+(2**-1)+(2**-2)+¡¡+(2**-(n-1))-n*(2**-n)
=2-(2**-(n-1))-n*(2**-n)
Ôò ASL=S+n*(2**-n)=2-(2**-(n-1)) ʱ¼ä¸´ÔÓ¶ÈΪO(1),µ±nÇ÷Ïò0ʱASL=2
(2)ASL=(¡Æ(n+1-i)*(2**-i) + (n*(2**-n))) ÆäÖÐÇóºÍµÄÏÂÏÞÊÇi=1,ÉÏÏÞÊÇn
=n*(2**-1)+(n-1)*(2**-2)+¡.+(2**-n)+n*(2**-n)
ÁîS=n*(2**-1)+¡.(2**-n)
S=2S-S=n-(1-(2**-n))
ÔòASL=n+(n+1)*(2**-n)-1 ×µÄÇé¿öÏÂʱ¼ä¸´ÔÓ¶ÈΪO(n)
(3)×ܵÄASLÈ¡×îСֵ¡¡¡¡ASL=2-(2**-(n-1))
£¶. ¶¯Ì¬²éÕÒÊÇÖØµã
£·. ¶þ²æÅÅÐòÊ÷ÖеIJåÈëºÍɾ³ýÒª»á
ɾ³ýÒ»¸ö½áµãºó£¬¶þ²æÊ÷µÄÖÐÐò±éÀúÈÔÊǵÝÔö
¡¡¡¡¡¡¡¡¡¡»áÇó¶þ²æÅÅÐòÊ÷²éÕ񵀮½¾ùASL(Òª·ÖÇå²éÕҳɹ¦µÄ½áµãºÍ²éÕÒʧ°Ü½áµãµÄ(Íâ½áµã)µÄASL)
£¸. ÉèÓйؼü×Ön=(2**h)£¬²éÕҳɹ¦µÄ¸ÅÂÊÏàµÈ£¬¹¹³É¶þ²æÅÅÐòÊ÷£¬ASL×î´ó¶àÉÙ£¿×î´óÊ÷¸ßÊǶàÉÙ£¿
½â£º¸ßΪnʱ£¬ASL×î´ó(1=2=3+¡+n)/n=(n+1)/2
Éî¶ÈΪhµÄÂú¶þ²æÊ÷ʱ£¬ASL×îС£º((n+1)/n)*log2(n+1)-1
£¹. ÉèÓÐ1023¸ö¹Ø¼ü×ֵĶþ²æÅÅÐòÊ÷£¬²éÕҳɹ¦µÄ¸ÅÂÊÏàµÈ£¬Ê¹ASL×îСʱÊ÷¸ßÊǶàÉÙ£¿
¸ù¾ÝµÚ£¸ÌâµÄ¹«Ê½((n+1)/n)*log2(n+1)-1£½(1024/1023)log2(1024)- 1=10240/1023-1
ËùÒÔÊ÷¸ßh=10
£±£°. ÕÆÎÕÈçºÎ¹¹ÔìÆ½ºâ¶þ²æÊ÷£¨¶à×ö¼¸´ÎÁ·Ï°£¬²Î¿´¹âÅ̵ÄÊý¾Ý½á¹¹¿Î¼þ£©
ÈçºÎÑ¡ÐýתÖ᣿ѡÀë²åÈëµã×î½üµÄ²»Æ½ºâµãµÄ¶ù×Ó½áµã
£±£±. ¾ßÓÐn¸öÒ¶×Ó½áµãµÄ·ÇÂú¶þ²æÊ÷µÄÍêÈ«¶þ²æÊ÷Éî¶ÈΪ£¨ +1£©
¾ßÓÐn¸öÒ¶×Ó½áµãµÄÂú¶þ²æÊ÷µÄÉî¶ÈΪ£¨log2(n) + 1 £©
¾ßÓÐn¸ö½áµãµÄÍêÈ«¶þ²æÊ÷µÄÉî¶È£¨ +1£©
¾ßÓÐn¸ö½áµãµÄÕÛ°ë²éÕÒÅж¨Ê÷µÄÉî¶ÈΪ£¨ +1£©
£±£². º¬n¸ö¹Ø¼ü×ֵį½ºâ¶þ²æÊ÷µÄ×î´óÉî¶ÈΪ£¿
n=0¡¡¡¡¡¡¡¡¡¡n=1 n=2 n=4 n=7
¿ÕÊ÷
¡¡¡¡¡¡¡¡×î´óÉî £° 1 2 3 4
·´¹ýÀ´£¬Éî¶ÈΪhµÄ¶þ²æÆ½ºâÊ÷ÖÐËùº¬½áµãµÄ×îСֵ¶àÉÙ£¿
¡¡¡¡¡¡¡¡¡¡h=0, N0=0; h=1,N1=1; h=2,N2=2; h=3,N3=4
Ò»°ãÇé¿ö£º¡¡Nh=N(h-1)+N(h-2)+1
ÀûÓùéÄÉ·¨Ö¤µÃ£ºNh=F(h+2)-1¡¡¡¡¡¡ PÊé238
µ±Æ½ºâ¶þ²æÊ÷º¬20¸ö½áµã£¬¸ß¶È×î¸ßÊǶàÉÙ£¿
N4=2+4+1=7, N5=4+7+1=12, N6=7+12+1=20
ËùÒÔh=6
£±£³. BÊ÷£º ¶¨Ò壬²éÕÒ¹ý³Ì£¬²åÈ룬ɾ³ý±ØÐëÕÆÎÕ£¨¶à×öµãÏà¹ØµÄÌâÄ¿£©
¡¡¡¡¸ß¶ÈΪkµÄ2-3Ê÷µÄ½áµãÊýÖÁÉÙÊÇ£º ¶þ²æÅÅÐòÊ÷ (2**k )¨C 1
×î¶àÓжàÉÙ¸ö½áµã£ºÃ¿¸ö½áµãº¬Á½¸ö¹Ø¼ü×Ö×î¶àÓУº¡Æ3**(i-1)=[(3**k)-1]/2 ÇóºÍÏÂÏÞÊÇi=1,ÉÏÏÞÊÇk
¸ßΪhµÄm½×B-Ê÷µÄ½áµãÊýÖÁÉÙÊÇ£ºt=
²ã ½áµã
1 1
2 2
3 2t ËùÓнáµãÏà¼Ó=1+2*¡Æ(t**i) ÇóºÍÏÂÏÞi=0,ÉÏÏÞΪk-2
4 2*(t**2) =1+2*[(t**(h-1)-1)/(t-1)]
.. ..
h 2*(t**(h-2))
¸ßΪhµÄm½×B-Ê÷µÄ½áµãÊý×î¶àÓжàÉÙ£º
²ã ½áµã
1 1
2 m ½áµãÏà¼Ó=¡Æ(m**i) ÇóºÍÏÂÏÞi=0,ÉÏÏÞΪk-1
3 m**2 =[(m**k)-1]/(m-1)
.. ..
n m**(n-1)
£±£´. ¸ß¶ÈΪhµÄm½×BÊ÷µÄ¹Ø¼ü×ÖÊý×î¶àÊÇ( (m**h)-1)£¬ÖÁÉÙÊÇ(2*[t**(h-1)]-1)£¬ÆäÖÐt=
·ÖÎö£º×îÉÙ£¬(m-1)* ¡Æ[m**(i-1)] ÇóºÍÏÂÏÞi=1,ÉÏÏÞΪh
=(m-1)*[(m**h) ¨C1]/(m-1)
=(m**h)-1
×î¶à£¬1+2(t-1) ¡Æ[m**(i-2)] ÇóºÍÏÂÏÞi=2,ÉÏÏÞΪh
=1+2(t-1)*[t**(h-1) ¨C1]/(t-1)
=2*[t**(h-1)]-1
£±£µ. N¸ö½áµãµÄm½×B-Ê÷ÖÁÉÙº¬(( -1)*(n-1)+1)¸ö¹Ø¼ü×Ö //×¢ÒâºÃºÃÌýÀÏʦµÄ½²½â£¬Á˽âʽÖеÄÿÏîÊÇÔõôµÃÀ´µÄ
£±£¶. BÊ÷ÖеĿÕÖ¸ÕëÊý×ܱȹؼü×ÖÊý¶à1
