锘??xml version="1.0" encoding="utf-8" standalone="yes"?>黄色精品网站,欧美在线黄色,亚洲欧美999http://www.shnenglu.com/mmdengwo/category/16457.htmlzh-cnFri, 29 Apr 2011 15:58:20 GMTFri, 29 Apr 2011 15:58:20 GMT60鍒ゆ柇鏍?wèi)湄?fù)鍙︿竴鏍?wèi)鐨勫瓙缁撴?/title><link>http://www.shnenglu.com/mmdengwo/archive/2011/04/29/145321.html</link><dc:creator>娌涙矝</dc:creator><author>娌涙矝</author><pubDate>Fri, 29 Apr 2011 06:03:00 GMT</pubDate><guid>http://www.shnenglu.com/mmdengwo/archive/2011/04/29/145321.html</guid><wfw:comment>http://www.shnenglu.com/mmdengwo/comments/145321.html</wfw:comment><comments>http://www.shnenglu.com/mmdengwo/archive/2011/04/29/145321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/mmdengwo/comments/commentRss/145321.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/mmdengwo/services/trackbacks/145321.html</trackback:ping><description><![CDATA[<span id="hvzpftn" class=Apple-style-span style="WORD-SPACING: 0px; FONT: medium Simsun; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; TEXT-ALIGN: center; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span id="hvzpftn" class=Apple-style-span style="FONT-SIZE: 14px; LINE-HEIGHT: 22px; FONT-FAMILY: Arial, Helvetica, simsun, u5b8bu4f53; TEXT-ALIGN: left"> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">棰樼洰錛氫簩鍙夋爲(wèi)鐨勭粨鐐瑰畾涔夊涓嬶細(xì)</span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; COLOR: blue; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>struct</span><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span id="hvzpftn" class=Apple-converted-space> </span>TreeNode</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>{</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">int</span><span id="hvzpftn" class=Apple-converted-space> </span>m_nValue;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span>TreeNode* m_pLeft;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span>TreeNode* m_pRight;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>};</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">杈撳叆涓ゆ5浜屽弶鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鍜?/span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">錛屽垽鏂爲(wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鏄笉鏄?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鐨勫瓙緇撴瀯銆?/span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">渚嬪錛屼笅鍥句腑鐨勪袱媯墊爲(wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鍜?/span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">錛岀敱浜?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓湁涓閮ㄥ垎瀛愭爲(wèi)鐨勭粨鏋勫拰</span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鏄竴鏍風(fēng)殑錛屽洜姝?/span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">灝辨槸</span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鐨勫瓙緇撴瀯銆?/span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px; TEXT-ALIGN: center" align=center><span style="LINE-HEIGHT: 22px"></span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋"></span></font>                 1                                                   8<br style="LINE-HEIGHT: 22px">               /    \                                               /    \<br style="LINE-HEIGHT: 22px">              8    7                                             9    2<br style="LINE-HEIGHT: 22px">            /    \<br style="LINE-HEIGHT: 22px">           9    2<br style="LINE-HEIGHT: 22px">                /  \<br style="LINE-HEIGHT: 22px">               4  7</p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鍒嗘瀽錛氳繖鏄?/span><font style="LINE-HEIGHT: 25px" face=Calibri>2010</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">騫村井杞牎鍥嫑鑱樻椂鐨勪竴閬撻鐩備簩鍙夋爲(wèi)涓鐩存槸寰蔣闈㈣瘯棰樹腑緇忓父鍑虹幇鐨勬暟鎹粨鏋勩傚寰蔣鏈夊叴瓚g殑璇昏呬竴瀹氳閲嶇偣鍏蟲敞浜屽弶鏍?wèi)銆?/span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span style="LINE-HEIGHT: 25px"><font style="LINE-HEIGHT: 25px" face=Calibri>               <span id="hvzpftn" class=Apple-converted-space> </span></font></span><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鍥炲埌榪欎釜棰樼洰鐨勬湰韜傝鏌ユ壘鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓槸鍚﹀瓨鍦ㄥ拰鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">緇撴瀯涓鏍風(fēng)殑瀛愭爲(wèi)錛屾垜浠彲浠ュ垎涓轟袱姝ワ細(xì)絎竴姝ュ湪鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓壘鍒板拰</span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鐨勬牴緇撶偣鐨勫間竴鏍風(fēng)殑緇撶偣</span><font style="LINE-HEIGHT: 25px" face=Calibri>N</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">錛岀浜屾鍐嶅垽鏂爲(wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓互</span><font style="LINE-HEIGHT: 25px" face=Calibri>N</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓烘牴緇撶偣鐨勫瓙鏍?wèi)鏄笉鏄寘鎷拰鏍?wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓鏍風(fēng)殑緇撴瀯銆?/span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span style="LINE-HEIGHT: 25px"><font style="LINE-HEIGHT: 25px" face=Calibri>               <span id="hvzpftn" class=Apple-converted-space> </span></font></span><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">絎竴姝ュ湪鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓煡鎵句笌鏍圭粨鐐圭殑鍊間竴鏍風(fēng)殑緇撶偣銆傝繖瀹為檯涓婂氨鏄爲(wèi)鐨勯亶鍘嗐傚浜屽弶鏍?wèi)杩櫩U嶆暟鎹粨鏋勭啛鎮(zhèn)夌殑璇昏呰嚜鐒剁煡閬撴垜浠彲浠ョ敤閫掑綊鐨勬柟娉曞幓閬嶅巻錛屼篃鍙互鐢ㄥ驚鐜殑鏂規(guī)硶鍘婚亶鍘嗐傜敱浜庨掑綊鐨勪唬鐮佸疄鐜版瘮杈冪畝媧侊紝闈㈣瘯鏃跺鏋滄病鏈夌壒鍒姹傦紝鎴戜滑閫氬父閮戒細(xì)閲囩敤閫掑綊鐨勬柟寮忋備笅闈㈡槸鍙傝冧唬鐮侊細(xì)</span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; COLOR: blue; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>bool</span><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span id="hvzpftn" class=Apple-converted-space> </span>HasSubtree(TreeNode* pTreeHead1, TreeNode* pTreeHead2)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>{</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>((pTreeHead1 == NULL && pTreeHead2 != NULL) ||</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span>(pTreeHead1 != NULL && pTreeHead2 == NULL))</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span><span style="COLOR: blue; LINE-HEIGHT: 19px">false</span>;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>(pTreeHead1 == NULL && pTreeHead2 == NULL)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span><span style="COLOR: blue; LINE-HEIGHT: 19px">true</span>;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span>HasSubtreeCore(pTreeHead1, pTreeHead2);</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>}</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; COLOR: blue; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>bool</span><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span id="hvzpftn" class=Apple-converted-space> </span>HasSubtreeCore(TreeNode* pTreeHead1, TreeNode* pTreeHead2)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>{</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">bool</span><span id="hvzpftn" class=Apple-converted-space> </span>result =<span id="hvzpftn" class=Apple-converted-space> </span><span style="COLOR: blue; LINE-HEIGHT: 19px">false</span>;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>(pTreeHead1->m_nValue == pTreeHead2->m_nValue)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span>{</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span>result = DoesTree1HaveAllNodesOfTree2(pTreeHead1, pTreeHead2);</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span>}</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>(!result && pTreeHead1->m_pLeft != NULL)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span>result = HasSubtreeCore(pTreeHead1->m_pLeft, pTreeHead2);</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>(!result && pTreeHead1->m_pRight != NULL)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span>result = HasSubtreeCore(pTreeHead1->m_pRight, pTreeHead2);</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span>result;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>}</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; TEXT-INDENT: 0.5in; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鍦ㄤ笂榪頒唬鐮佷腑錛屾垜浠掑綊璋冪敤</span><font style="LINE-HEIGHT: 25px" face=Calibri>hasSubtreeCore</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">閬嶅巻浜屽弶鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">銆傚鏋滃彂鐜版煇涓緇撶偣鐨勫煎拰鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鐨勫ご緇撶偣鐨勫肩浉鍚岋紝鍒欒皟鐢?/span><font style="LINE-HEIGHT: 25px" face=Calibri>DoesTree1HaveAllNodeOfTree2</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">錛屽仛絎簩姝ュ垽鏂?/span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; TEXT-INDENT: 0.5in; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鍦ㄩ潰璇曠殑鏃跺欙紝鎴戜滑涓瀹氳娉ㄦ剰杈圭晫鏉′歡鐨勬鏌ワ紝鍗蟲鏌ョ┖鎸囬拡銆傚綋鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鎴栨爲(wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓虹┖鐨勬椂鍊欙紝瀹氫箟鐩稿簲鐨勮緭鍑恒傚鏋滄病鏈夋鏌ュ茍鍋氱浉搴旂殑澶勭悊錛岀▼搴忛潪甯稿鏄撳穿婧冿紝榪欐槸闈㈣瘯鏃墮潪甯稿繉璁崇殑浜嬫儏銆傜敱浜庢病鏈夊繀瑕佸湪姣忎竴嬈¢掑綊涓仛杈圭晫媯鏌ワ紙姣忎竴嬈¢掑綊閮藉仛媯鏌ワ紝澧炲姞浜嗕笉蹇呰鐨勬椂闂村紑閿錛夛紝涓婅堪浠g爜鍙湪</span><font style="LINE-HEIGHT: 25px" face=Calibri>HasSubtree</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓綔浜嗚竟鐣屾鏌ュ悗錛屽湪</span><font style="LINE-HEIGHT: 25px" face=Calibri>HasSubtreeCore</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓綔閫掑綊閬嶅巻銆?/span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; TEXT-INDENT: 0.5in; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" size=3><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鎺ヤ笅鏉ヨ冭檻絎簩姝ワ紝鍒ゆ柇浠ユ爲(wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓互</span><font style="LINE-HEIGHT: 25px" face=Calibri>N</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓烘牴緇撶偣鐨勫瓙鏍?wèi)鏄笉鏄拰鏍?wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鍏鋒湁鐩稿悓鐨勭粨鏋勩傚悓鏍鳳紝鎴戜滑涔熷彲浠ョ敤閫掑綊鐨勬濊礬鏉ヨ冭檻錛氬鏋滅粨鐐?/span><font style="LINE-HEIGHT: 25px" face=Calibri>N</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鐨勫煎拰鏍?/span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鐨勬牴緇撶偣涓嶇浉鍚岋紝鍒欎互</span><font style="LINE-HEIGHT: 25px" face=Calibri>N</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">涓烘牴緇撶偣鐨勫瓙鏍?wèi)鍜屾?/span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鑲畾涓嶅叿鏈夌浉鍚岀殑緇撶偣錛涘鏋滀粬浠殑鍊肩浉鍚岋紝鍒欓掑綊鍦板垽鏂粬浠殑鍚勮嚜鐨勫乏鍙崇粨鐐圭殑鍊兼槸涓嶆槸鐩稿悓銆傞掑綊鐨勭粓姝㈡潯浠舵槸鎴戜滑鍒拌揪浜嗘爲(wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>A</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鎴栬呮爲(wèi)</span><font style="LINE-HEIGHT: 25px" face=Calibri>B</font><span lang=ZH-CN style="LINE-HEIGHT: 25px; FONT-FAMILY: 瀹嬩綋">鐨勫彾緇撶偣銆傚弬鑰冧唬鐮佸涓嬶細(xì)</span></font></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; COLOR: blue; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>bool</span><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span id="hvzpftn" class=Apple-converted-space> </span>DoesTree1HaveAllNodesOfTree2(TreeNode* pTreeHead1, TreeNode* pTreeHead2)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>{</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>(pTreeHead2 == NULL)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span><span style="COLOR: blue; LINE-HEIGHT: 19px">true</span>;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>(pTreeHead1 == NULL)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span><span style="COLOR: blue; LINE-HEIGHT: 19px">false</span>;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">if</span>(pTreeHead1->m_nValue != pTreeHead2->m_nValue)</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span><span style="COLOR: blue; LINE-HEIGHT: 19px">false</span>;</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?> </span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">       <span id="hvzpftn" class=Apple-converted-space> </span></span><span style="COLOR: blue; LINE-HEIGHT: 19px">return</span><span id="hvzpftn" class=Apple-converted-space> </span>DoesTree1HaveAllNodesOfTree2(pTreeHead1->m_pLeft, pTreeHead2->m_pLeft) &&</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?><span style="LINE-HEIGHT: 19px">               <span id="hvzpftn" class=Apple-converted-space> </span></span>DoesTree1HaveAllNodesOfTree2(pTreeHead1->m_pRight, pTreeHead2->m_pRight);</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; PADDING-TOP: 0px"><span style="FONT-SIZE: 9pt; LINE-HEIGHT: 19px; FONT-FAMILY: 鏂板畫浣?>}</span></p> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; TEXT-INDENT: 0.5in; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" face=Calibri size=3> </font></p> <wbr style="LINE-HEIGHT: 22px"> <p style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 22px; PADDING-TOP: 0px"><font style="LINE-HEIGHT: 25px" face=Calibri size=3></font> <span style="LINE-HEIGHT: 22px; WHITE-SPACE: pre"> </span><span lang=ZH-CN style="LINE-HEIGHT: 22px; FONT-FAMILY: 瀹嬩綋"><font style="LINE-HEIGHT: 25px" size=3>鍗氫富浣曟搗娑涘鏈崥瀹㈡枃绔犱韓鏈夌増鏉冦傜綉緇滆漿杞借娉ㄦ槑鍑哄</font></span><a style="COLOR: rgb(153,0,0); LINE-HEIGHT: 22px; TEXT-DECORATION: none" ><font style="LINE-HEIGHT: 25px" face=Calibri color=#990000 size=3>http://zhedahht.blog.163.com/</font></a><span lang=ZH-CN style="LINE-HEIGHT: 22px; FONT-FAMILY: 瀹嬩綋"><font style="LINE-HEIGHT: 25px" size=3>銆?/font></span></p> </span></span> <img src ="http://www.shnenglu.com/mmdengwo/aggbug/145321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/mmdengwo/" target="_blank">娌涙矝</a> 2011-04-29 14:03 <a href="http://www.shnenglu.com/mmdengwo/archive/2011/04/29/145321.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>閬椾紶綆楁硶鍏ラ棬http://www.shnenglu.com/mmdengwo/archive/2011/04/14/144254.html娌涙矝娌涙矝Thu, 14 Apr 2011 14:27:00 GMThttp://www.shnenglu.com/mmdengwo/archive/2011/04/14/144254.htmlhttp://www.shnenglu.com/mmdengwo/comments/144254.htmlhttp://www.shnenglu.com/mmdengwo/archive/2011/04/14/144254.html#Feedback0http://www.shnenglu.com/mmdengwo/comments/commentRss/144254.htmlhttp://www.shnenglu.com/mmdengwo/services/trackbacks/144254.html閬椾紶綆楁硶

閬椾紶綆楁硶錛圙enetic Algorithm, GA錛夋槸榪戝嚑騫村彂灞曡搗鏉ョ殑涓縐嶅喘鏂扮殑鍏ㄥ眬浼樺寲綆楁硶銆?962騫撮湇鍏板痙(Holland)鏁欐巿棣栨鎻愬嚭浜咷A綆楁硶鐨勬濇兂錛屽畠鍊熺敤浜嗕豢鐪熺敓鐗╅仐浼犲鍜岃嚜鐒墮夋嫨鏈虹悊錛岄氳繃鑷劧閫夋嫨銆侀仐浼犮佸彉寮傜瓑浣滅敤鏈哄埗錛屽疄鐜板悇涓釜浣撶殑閫傚簲鎬х殑鎻愰珮銆備粠鏌愮紼嬪害涓婅閬椾紶綆楁硶鏄鐢熺墿榪涘寲榪囩▼榪涜鐨勬暟瀛︽柟寮忎豢鐪熴?/p>

榪欎竴鐐逛綋鐜頒簡鑷劧鐣屼腑"鐗╃珵澶╂嫨銆侀傝呯敓瀛?榪涘寲榪囩▼銆備笌鑷劧鐣岀浉浼鹼紝閬椾紶綆楁硶瀵規(guī)眰瑙i棶棰樼殑鏈韓涓鏃犳墍鐭ワ紝瀹冩墍闇瑕佺殑浠呮槸瀵圭畻娉曟墍浜х敓鐨勬瘡涓煋鑹蹭綋榪涜璇勪環(huán),鎶婇棶棰樼殑瑙h〃紺烘垚鏌撹壊浣擄紝騫跺熀浜庨傚簲鍊兼潵閫夋嫨鏌撹壊浣擄紝浣塊傚簲鎬уソ鐨勬煋鑹蹭綋鏈夋洿澶氱殑綣佹畺鏈轟細(xì)銆傚湪綆楁硶涓篃鍗蟲槸浠ヤ簩榪涘埗緙栫爜鐨勪覆銆傚茍涓旓紝鍦ㄦ墽琛岄仐浼犵畻娉曚箣鍓嶏紝緇欏嚭涓緹ゆ煋鑹蹭綋錛屼篃鍗蟲槸鍋囪瑙c傜劧鍚庯紝鎶婅繖浜涘亣璁捐В緗簬闂鐨?#8220;鐜”涓紝涔熷嵆涓涓傚簲搴﹀嚱鏁頒腑鏉ヨ瘎浠楓傚茍鎸夐傝呯敓瀛樼殑鍘熷垯錛屼粠涓夋嫨鍑鴻緝閫傚簲鐜鐨勬煋鑹蹭綋榪涜澶嶅埗, 娣樻卑浣庨傚簲搴︾殑涓綋錛屽啀閫氳繃浜ゅ弶錛屽彉寮傝繃紼嬩駭鐢熸洿閫傚簲鐜鐨勬柊涓浠f煋鑹蹭綋緹ゃ傚榪欎釜鏂扮緹よ繘琛屼笅涓杞繘鍖栵紝鑷沖埌鏈閫傚悎鐜鐨勫箋?/p>

閬椾紶綆楁硶宸茬敤浜庢眰瑙e甫鏈夊簲鐢ㄥ墠鏅殑涓浜涢棶棰橈紝渚嬪閬椾紶紼嬪簭璁捐銆佸嚱鏁頒紭鍖栥佹帓搴忛棶棰樸佷漢宸ョ緇忕綉緇溿佸垎綾葷郴緇熴佽綆楁満鍥懼儚澶勭悊鍜屾満鍣ㄤ漢榪愬姩瑙勫垝絳夈?/p>

鏈璇存槑

鐢變簬閬椾紶綆楁硶鏄敱榪涘寲璁哄拰閬椾紶瀛︽満鐞嗚屼駭鐢熺殑鎼滅儲綆楁硶錛屾墍浠ュ湪榪欎釜綆楁硶涓細(xì)鐢ㄥ埌寰堝鐢熺墿閬椾紶瀛︾煡璇嗭紝涓嬮潰鏄垜浠皢浼?xì)鐢ㄦ潵鐨勪竴浜涙湳璇鏄庯細(xì)

涓銆佹煋鑹蹭綋(Chronmosome)

鏌撹壊浣撳張鍙互鍙仛鍩哄洜鍨嬩釜浣?individuals),涓瀹氭暟閲忕殑涓綋緇勬垚浜嗙兢浣?population),緹や綋涓釜浣撶殑鏁伴噺鍙仛緹や綋澶у皬銆?/p>

浜屻佸熀鍥?Gene)

鍩哄洜鏄覆涓殑鍏冪礌錛屽熀鍥犵敤浜庤〃紺轟釜浣撶殑鐗瑰緛銆備緥濡傛湁涓涓覆S錛?011錛屽垯鍏朵腑鐨?錛?錛?錛?榪?涓厓绱犲垎鍒О涓哄熀鍥犮傚畠浠殑鍊肩О涓虹瓑浣嶅熀鍥?Alletes)銆?/p>

涓夈佸熀鍥犲湴鐐?Locus)

鍩哄洜鍦扮偣鍦ㄧ畻娉曚腑琛ㄧず涓涓熀鍥犲湪涓蹭腑鐨勪綅緗О涓哄熀鍥犱綅緗?Gene Position)錛屾湁鏃朵篃綆縐板熀鍥犱綅銆傚熀鍥犱綅緗敱涓茬殑宸﹀悜鍙寵綆楋紝渚嬪鍦ㄤ覆 S錛?101 涓紝0鐨勫熀鍥犱綅緗槸3銆?/p>

鍥涖佸熀鍥犵壒寰佸?Gene Feature)

鍦ㄧ敤涓茶〃紺烘暣鏁版椂錛屽熀鍥犵殑鐗瑰緛鍊間笌浜岃繘鍒舵暟鐨勬潈涓鑷達(dá)紱渚嬪鍦ㄤ覆 S=1011 涓紝鍩哄洜浣嶇疆3涓殑1錛屽畠鐨勫熀鍥犵壒寰佸間負(fù)2錛涘熀鍥犱綅緗?涓殑1錛屽畠鐨勫熀鍥犵壒寰佸間負(fù)8銆?/p>

浜斻侀傚簲搴?Fitness)

鍚勪釜涓綋瀵圭幆澧冪殑閫傚簲紼嬪害鍙仛閫傚簲搴?fitness)銆備負(fù)浜嗕綋鐜版煋鑹蹭綋鐨勯傚簲鑳藉姏錛屽紩鍏ヤ簡瀵歸棶棰樹腑鐨勬瘡涓涓煋鑹蹭綋閮借兘榪涜搴﹂噺鐨勫嚱鏁幫紝鍙傚簲搴﹀嚱鏁? 榪欎釜鍑芥暟鏄綆椾釜浣撳湪緹や綋涓浣跨敤鐨勬鐜囥?/p>

鎿嶄綔綆楁硶

闇嶅叞寰?Holland)鏁欐巿鏈鍒濇彁鍑虹殑綆楁硶涔熷彨綆鍗曢仐浼犵畻娉曪紝綆鍗曢仐浼犵畻娉曠殑閬椾紶鎿嶄綔涓昏鏈変笁縐嶏細(xì)閫夋嫨(selection)銆佷氦鍙?crossover)銆佸彉寮?mutation)榪欎篃鏄仐浼犵畻娉曚腑鏈甯哥敤鐨勪笁縐嶇畻娉曪細(xì)

1錛庨夋嫨(selection)

閫夋嫨鎿嶄綔涔熷彨澶嶅埗鎿嶄綔錛屼粠緹や綋涓寜涓綋鐨勯傚簲搴﹀嚱鏁板奸夋嫨鍑鴻緝閫傚簲鐜鐨勪釜浣撱備竴鑸湴璇達(dá)紝閫夋嫨灝嗕嬌閫傚簲搴﹂珮鐨勪釜浣撶箒孌栦笅涓浠g殑鏁扮洰杈冨錛岃岄傚簲搴﹁緝?yōu)畯鐨勪釜浣撳Q岀箒孌栦笅涓浠g殑鏁扮洰杈冨皯,鐢氳嚦琚窐姹般傛渶閫氬父鐨勫疄鐜版柟娉曟槸杞洏璧?roulette wheel)妯″瀷銆備護(hù)Σfi琛ㄧず緹や綋鐨勯傚簲搴﹀間箣鎬誨拰錛宖i琛ㄧず縐嶇兢涓i涓煋鑹蹭綋鐨勯傚簲搴﹀鹼紝瀹冭閫夋嫨鐨勬鐜囨濂戒負(fù)鍏墮傚簲搴﹀兼墍鍗犱喚棰漟i錛?#931;fi銆傚涓嬪浘琛ㄤ腑鐨勬暟鎹傚簲鍊兼誨拰Σfi=6650,閫傚簲搴︿負(fù)2200鍙橀夋嫨鐨勫彲鑳戒負(fù)fi錛?#931;fi=2200/6650=0.394.


鍥?. 杞洏璧屾ā鍨?/font>
 
Fitness 鍊鹼細(xì) 2200 1800 1200 950 400 100
閫夋嫨姒傜巼錛?/td> 3331 0.271 0.18 0.143 0.06 0.015

2錛庝氦鍙?Crossover)

浜ゅ弶綆楀瓙灝嗚閫変腑鐨勪袱涓釜浣撶殑鍩哄洜閾炬寜涓瀹氭鐜噋c榪涜浜ゅ弶錛屼粠鑰岀敓鎴愪袱涓柊鐨勪釜浣擄紝浜ゅ弶浣嶇疆pc鏄殢鏈虹殑銆傚叾涓璓c鏄竴涓郴緇熷弬鏁般傛牴鎹棶棰樼殑涓嶅悓錛屼氦鍙夊張涓轟簡鍗曠偣浜ゅ弶綆楀瓙錛圫ingle Point Crossover錛夈佸弻鐐逛氦鍙夌畻瀛愶紙Two Point Crossover錛夈佸潎鍖浜ゅ弶綆楀瓙 (Uniform Crossover)錛屽湪姝ゆ垜浠彧璁ㄨ鍗曠偣浜ゅ弶鐨勬儏鍐點(diǎn)?/p>

鍗曠偣浜ゅ弶鎿嶄綔鐨勭畝鍗曟柟寮忔槸灝嗚閫夋嫨鍑虹殑涓や釜涓綋S1鍜孲2浣滀負(fù)鐖舵瘝涓綋錛屽皢涓よ呯殑閮ㄥ垎鍩哄洜鐮佸艱繘琛屼氦鎹€傚亣璁懼涓嬩袱涓?浣嶇殑涓綋錛?/p>
S1 1000  1111 S2 1110  1100

浜х敓涓涓湪1鍒?涔嬮棿鐨勯殢鏈烘暟c錛屽亣濡傜幇鍦ㄤ駭鐢熺殑鏄?錛屽皢S1鍜孲2鐨勪綆浜屼綅浜ゆ崲錛歋1鐨勯珮鍏綅涓嶴2鐨勪綆鍏綅緇勬垚鏁頒覆10001100錛岃繖灝辨槸S1鍜孲2 鐨勪竴涓悗浠1涓綋錛汼2鐨勯珮鍏綅涓嶴1鐨勪綆浜屼綅緇勬垚鏁頒覆11101111錛岃繖灝辨槸S1鍜孲2鐨勪竴涓悗浠2涓綋銆傚叾浜ゆ崲榪囩▼濡備笅鍥炬墍紺猴細(xì)

Crossover 11110000 Crossover 11110000
S1 1000 1111 S2 1110 1100
P1 1000 1100 P2 1110 1111

3錛庡彉寮?Mutation)

榪欐槸鍦ㄩ変腑鐨勪釜浣撲腑錛屽皢鏂頒釜浣撶殑鍩哄洜閾劇殑鍚勪綅鎸夋鐜噋m榪涜寮傚悜杞寲錛屾渶綆鍗曟柟寮忔槸鏀瑰彉涓蹭笂鏌愪釜浣嶇疆鏁板箋傚浜岃繘鍒剁紪鐮佹潵璇村皢0涓?浜掓崲錛?鍙樺紓涓?錛?鍙樺紓涓?銆?/p>

濡備笅8浣嶄簩榪涘埗緙栫爜錛?/p>
1 1 1 0 1 1 0 0

闅忔満浜х敓涓涓?鑷?涔嬮棿鐨勬暟i錛屽亣濡傜幇鍦╧=6錛屽浠庡彸寰宸︾殑絎?浣嶈繘琛屽彉寮傛搷浣滐紝灝嗗師鏉ョ殑1鍙樹負(fù)0錛屽緱鍒板涓嬩覆錛?/p>
1 1 0 0 1 1 0 0

鏁翠釜浜ゅ弶鍙樺紓榪囩▼濡備笅鍥撅細(xì)


鍥?. 浜ゅ弶鍙樺紓榪囩▼

 

4錛庣簿鑻變富涔?錛圗litism錛?/strong>

浠呬粎浠庝駭鐢熺殑瀛愪唬涓夋嫨鍩哄洜鍘繪瀯閫犳柊鐨勭緹ゅ彲鑳戒細(xì)涓㈠け鎺変笂涓浠g緹や腑鐨勫緢澶氫俊鎭備篃灝辨槸璇村綋鍒╃敤浜ゅ弶鍜屽彉寮備駭鐢熸柊鐨勪竴浠f椂錛屾垜浠湁寰堝ぇ鐨勫彲鑳芥妸鍦ㄦ煇涓腑闂存楠や腑寰楀埌鐨勬渶浼樿В涓㈠け銆傚湪姝ゆ垜浠嬌鐢ㄧ簿鑻變富涔夛紙Elitism錛夋柟娉曪紝鍦ㄦ瘡涓嬈′駭鐢熸柊鐨勪竴浠f椂錛屾垜浠鍏堟妸褰撳墠鏈浼樿В鍘熷皝涓嶅姩鐨勫鍒跺埌鏂扮殑涓浠d腑錛屽叾浠栨楠や笉鍙樸傝繖鏍蜂換浣曟椂鍒諱駭鐢熺殑涓涓渶浼樿В閮藉彲浠ュ瓨?gòu)z誨埌閬椾紶綆楁硶緇撴潫銆?/p>

涓婅堪鍚勭綆楀瓙鐨勫疄鐜版槸澶氱澶氭牱鐨勶紝鑰屼笖璁稿鏂扮殑綆楀瓙姝e湪涓嶆柇鍦版彁鍑猴紝浠ユ敼榪汫A鏌愪簺鎬ц兘銆傛瘮濡傞夋嫨綆楁硶榪樻湁鍒嗙駭鍧囪 閫夋嫨絳夌瓑銆?/p>

閬椾紶綆楁硶鐨勬墍闇鍙傛暟

璇寸畝鍗曠偣閬椾紶綆楁硶灝辨槸閬嶅巻鎼滅儲絀洪棿鎴栬繛鎺ユ睜錛屼粠涓壘鍑烘渶浼樼殑瑙c傛悳绱㈢┖闂翠腑鍏ㄩ儴閮芥槸涓綋錛岃岀兢浣撲負(fù)鎼滅儲絀洪棿鐨勪竴涓瓙闆嗐傚茍涓嶆槸鎵鏈夎閫夋嫨浜嗙殑鏌撹壊浣撻兘瑕佽繘琛屼氦鍙夋搷浣滃拰鍙樺紓鎿嶄綔錛岃屾槸浠ヤ竴瀹氱殑姒傜巼榪涜錛屼竴鑸湪紼嬪簭璁捐涓氦鍙夊彂鐢熺殑姒傜巼瑕佹瘮鍙樺紓鍙戠敓鐨勬鐜囬夊彇寰楀ぇ鑻ュ共涓暟閲忕駭銆傚ぇ閮ㄥ垎閬椾紶綆楁硶鐨勬楠ら兘寰堢被浼鹼紝甯鎬嬌鐢ㄥ涓嬪弬鏁幫細(xì)

Fitness鍑芥暟錛氳涓婃枃浠嬬粛銆?/p>

Fitnessthreshold錛堥傚簲搴﹂榾鍊鹼級錛氶傚悎搴︿腑鐨勮瀹氱殑闃鍊鹼紝褰撴渶浼樹釜浣撶殑閫傚簲搴﹁揪鍒扮粰瀹氱殑闃鍊鹼紝鎴栬呮渶浼樹釜浣撶殑閫傚簲搴﹀拰緹や綋閫傚簲搴︿笉鍐嶄笂鍗囨椂(鍙樺寲鐜囦負(fù)闆?錛屽垯綆楁硶鐨勮凱浠h繃紼嬫敹鏁涖佺畻娉曠粨鏉熴傚惁鍒欙紝鐢ㄧ粡榪囬夋嫨銆佷氦鍙夈佸彉寮傛墍寰楀埌鐨勬柊涓浠g兢浣撳彇浠d笂涓浠g兢浣擄紝騫惰繑鍥炲埌閫夋嫨鎿嶄綔澶勭戶緇驚鐜墽琛屻?/p>

P錛氱緹ょ殑鏌撹壊浣撴繪暟鍙緹よ妯★紝瀹冨綆楁硶鐨勬晥鐜囨湁鏄庢樉鐨勫獎鍝嶏紝鍏墮暱搴︾瓑浜庡畠鍖呭惈鐨勪釜浣撴暟閲忋傚お灝忔椂闅句互姹傚嚭鏈浼樿В錛屽お澶у垯澧為暱鏀舵暃鏃墮棿瀵艱嚧紼嬪簭榪愯鏃墮棿闀褲傚涓嶅悓鐨勯棶棰樺彲鑳芥湁鍚勮嚜閫傚悎鐨勭緹よ妯★紝閫氬父縐嶇兢瑙勬ā涓?30 鑷?160銆?/p>

pc錛氬湪寰幆涓繘琛屼氦鍙夋搷浣滄墍鐢ㄥ埌鐨勬鐜囥備氦鍙夋鐜囷紙Pc錛変竴鑸彇0.6鑷?.95涔嬮棿鐨勫鹼紝Pc澶皬鏃墮毦浠ュ悜鍓嶆悳绱紝澶ぇ鍒欏鏄撶牬鍧忛珮閫傚簲鍊肩殑緇撴瀯銆?/p>

Pm錛氬彉寮傛鐜囷紝浠庝釜浣撶兢涓駭鐢熷彉寮傜殑姒傜巼錛屽彉寮傛鐜囦竴鑸彇0.01鑷?.03涔嬮棿鐨勫煎彉寮傛鐜嘝m澶皬鏃墮毦浠ヤ駭鐢熸柊鐨勫熀鍥犵粨鏋勶紝澶ぇ浣塊仐浼犵畻娉曟垚浜嗗崟綰殑闅忔満鎼滅儲銆?/p>

鍙︿竴涓郴緇熷弬鏁版槸涓綋鐨勯暱搴︼紝鏈夊畾闀垮拰鍙橀暱涓ょ銆傚畠瀵圭畻娉曠殑鎬ц兘涔熸湁褰卞搷銆傜敱浜嶨A鏄竴涓鐜囪繃紼嬶紝鎵浠ユ瘡嬈¤凱浠g殑鎯呭喌鏄笉涓鏍風(fēng)殑,緋葷粺鍙傛暟涓嶅悓錛岃凱浠f儏鍐典篃涓嶅悓銆?/p>

閬椾紶姝ラ

浜嗚В浜嗕笂闈㈢殑鍩烘湰鍙傛暟錛屼笅闈㈡垜浠潵鐪嬬湅閬椾紶綆楁硶鐨勫熀鏈楠ゃ?/p>

鍩烘湰榪囩▼涓猴細(xì)

  1. 瀵瑰緟瑙e喅闂榪涜緙栫爜,鎴戜滑灝嗛棶棰樼粨鏋勫彉鎹負(fù)浣嶄覆褰㈠紡緙栫爜琛ㄧず鐨勮繃紼嬪彨緙栫爜錛涜岀浉鍙嶅皢浣嶄覆褰㈠紡緙栫爜琛ㄧず鍙樻崲涓哄師闂緇撴瀯鐨勮繃紼嬪彨璇戠爜銆?
  2. 闅忔満鍒濆鍖栫兢浣揚(yáng)(0)錛?(p1, p2, … pn)錛?
  3. 璁$畻緹や綋涓婃瘡涓釜浣撶殑閫傚簲搴﹀?Fitness)
  4. 璇勪及閫傚簲搴?瀵瑰綋鍓嶇兢浣揚(yáng)(t)涓瘡涓釜浣揚(yáng)i璁$畻鍏墮傚簲搴(Pi)錛岄傚簲搴﹁〃紺轟簡璇ヤ釜浣撶殑鎬ц兘濂藉潖
  5. 鎸夌敱涓綋閫傚簲搴﹀兼墍鍐沖畾鐨勬煇涓鍒欏簲鐢ㄩ夋嫨綆楀瓙浜х敓涓棿浠r(t)
  6. 渚濈収Pc閫夋嫨涓綋榪涜浜ゅ弶鎿嶄綔
  7. 浠跨収Pm瀵圭箒孌栦釜浣撹繘琛屽彉寮傛搷浣?
  8. 娌℃湁婊¤凍鏌愮鍋滄鏉′歡錛屽垯杞3姝ワ紝鍚﹀垯榪涘叆9
  9. 杈撳嚭縐嶇兢涓傚簲搴﹀兼渶浼樼殑涓綋

紼嬪簭鐨勫仠姝㈡潯浠舵渶綆鍗曠殑鏈夊涓嬩簩縐嶏細(xì)瀹屾垚浜嗛鍏堢粰瀹氱殑榪涘寲浠f暟鍒欏仠姝紱縐嶇兢涓殑鏈浼樹釜浣撳湪榪炵畫鑻ュ共浠f病鏈夋敼榪涙垨騫沖潎閫傚簲搴﹀湪榪炵畫鑻ュ共浠e熀鏈病鏈夋敼榪涙椂鍋滄銆?/p>

鏍規(guī)嵁閬椾紶綆楁硶鎬濇兂鍙互鐢誨嚭濡傚彸鍥炬墍紺虹殑綆鍗曢仐浼犵畻娉曟鍥撅細(xì)


鍥?. 綆鍗曢仐浼犵畻娉曟鍥?/font>
 

涓嬮潰浼唬鐮佺畝鍗曡鏄庝簡閬椾紶綆楁硶鎿嶄綔榪囩▼錛?/p>
choose an intial population
For each h in population,compute Fitness(h)
While(max Fitness(h) < Fitnessthreshold)
do selection
do crossover
do mutation
update population
For each h in population,compute Fitness(h)
Return best Fitness

Robocode 璇存槑

鑳芥湁鏁堝疄鐜伴仐浼犵畻娉曠殑搴旂敤渚嬪瓙鏈夊緢澶氾紝鍍忚タ媧嬪弻闄嗘銆佸浗闄呭悕妯$瓑絳夐兘鏄仐浼犵▼搴忚璁″涔?fàn)鐨勫伐鍏峰Q屼絾鏄?Robocode 鏈夌潃鍏朵粬鍑犱釜鏃犲彲姣旀嫙鐨勪紭鍔匡細(xì)

  1. 瀹冩槸鍩轟簬闈㈠悜瀵硅薄璇█ Java 寮鍙戯紝鑰岄仐浼犵畻娉曟湰韜殑鎬濇兂涔熸槸瀛樺湪緇ф壙絳夐潰鍚戝璞℃蹇碉紱
  2. Robocode 鏄竴縐嶅熀浜庢父鎴忎笌緙栫▼璇█涔嬮棿鐨勫鉤鍙幫紝鏈変竴涓厖婊$珵鎶涓庝箰瓚g殑鍧﹀厠鎴樻枟騫沖彴錛屼綘鑳藉緢蹇殑閫氳繃涓庡叾浠栧潶鍏嬫満鍣ㄦ瘮璧涜屾祴璇曡嚜宸辯殑閬椾紶綆楁硶錛?
  3. Robocode 紺劇兢鏈?4000 涓乏鍙沖悇縐嶇瓥鐣ョ殑渚嬪瓙鏈哄櫒浜哄彲渚涗綘閫夋嫨錛岃繖浜涙満鍣ㄤ漢瓚充互璁╂垜浠ā鎷熺湡瀹炵殑閬椾紶鐜銆傝屼笖寰堝浠g爜鍙洿鎺ュ紑鏀炬簮浠g爜渚涙垜浠熼壌 錛?
  4. Robocode 鏄竴涓紑婧愯蔣浠訛紝浣犲彲鐩存帴涓奟obocode鎺у埗鍣ㄤ笂鍔犲叆鑷繁鐨勯仐浼犵壒鐐癸紝鑰屽姞蹇仐浼犺繃紼嬬殑鏀舵暃鏃墮棿錛?
  5. Robocoe 鏄竴涓緢瀹規(guī)槗浣跨敤鐨勬満鍣ㄤ漢鎴樻枟浠跨湡鍣紝鎮(zhèn)ㄥ湪姝ゅ鉤鍙頒笂鍒涘緩鑷繁鐨勫潶鍏嬫満鍣ㄤ漢錛屽茍涓庡叾瀹冨紑鍙戣呭紑鍙戠殑鏈哄櫒浜虹珵鎶銆備互寰楀垎鎺掑悕鐨勬柟寮忓垽瀹氫紭鑳滆呫傛瘡涓?Robocode 鍙傚姞鑰呴兘瑕佸埄鐢?Java 璇█鍏冪礌鍒涘緩浠栨垨濂圭殑鏈哄櫒浜猴紝榪欐牱灝變嬌浠庡垵瀛﹁呭埌楂樼駭榛戝鐨勫箍澶у紑鍙戣呴兘鍙互鍙備笌榪欎竴濞變箰媧誨姩銆傚鏋滄?zhèn)ㄥRobocode涓嶆槸寰堜簡瑙o紝璇峰弬鑰?developerWorks 緗戠珯 Java 鎶鏈笓鍖烘枃绔狅細(xì)“閲嶉敜鐥涘嚮 Robocode”錛?

鍦?Robocode 涓叾瀹炴湁寰堝縐嶉仐浼犵畻娉曟柟娉曟潵瀹炵幇榪涘寲鏈哄櫒浜猴紝浠庡叏涓栫晫鐨?Robocode 嫻佹淳涓篃鍙戝睍鍑犵姣旇緝鎴愮啛鐨勬柟娉曪紝姣斿棰勮絳栫暐閬椾紶銆佽嚜寮鍙戣В閲婅璦閬椾紶銆侀仐浼犵Щ鍔ㄦ垜浠氨榪欏嚑縐嶆柟娉曞垎鍒姞浠ヤ粙緇嶃傜敱浜庨仐浼犵畻娉曟搷浣滆繃紼嬮兘綾諱技錛屾墍浠ュ墠闈簩閮ㄥ垎閮芥槸涓浜涙柟娉曠殑浠嬬粛鍜岄儴鍒嗕緥瀛愯瑙o紝鍚庨潰閮ㄥ垎浼?xì)缁欏囖Z嬌鐢ㄤ簡閬椾紶綆楁硶鐨勭Щ鍔ㄦ満鍣ㄤ漢浜轟緥瀛愩傚湪闄勫綍涓紝涔熸彁渚涗簡鏈哄櫒浜轟粨搴撲腑鏈夊叧閬椾紶綆楁硶鏈哄櫒浜虹殑涓嬭澆錛屽ぇ瀹跺彲鍙傝冦?/p>






棰勮絳栫暐榪涘寲鏈哄櫒浜?/font>

Robocode 鍧﹀厠鏈哄櫒浜烘墍鏈夎涓洪兘紱諱笉寮濡傜Щ鍔ㄣ佸皠鍑匯佹壂鎻忕瓑鍩烘湰鎿嶄綔銆傛墍浠ュ湪姝ゆ妸榪欎簺鍩烘湰鎿嶄綔鎵鐢ㄥ埌鐨勭瓥鐣ュ垎鍒繘鍖栧涓嬬紪鐮侊細(xì)縐誨姩絳栫暐move-strategy (MS), 瀛愬脊鑳介噺bullet-power-strategy (BPS), 闆瘋揪鎵弿radar-strategy (RS), 鍜岀瀯鍑嗛夋嫨絳栫暐target- strategy (TS)銆傜敱浜嶳obocode鐖卞ソ鑰呯ぞ緹ょ殑鍙戝睍錛屾瘡涓縐嶅熀鏈搷浣滈兘鍙戝睍浜嗗緢澶氭瘮杈冩垚鐔熺殑絳栫暐錛屾墍鏈夊湪姝ゆ垜浠洿鎺ュ湪涓嬮潰棰勫厛瀹氫箟鐨勮繖浜涚瓥鐣ュ涓嬭〃錛?/p>
MS BPS RS TS
random distance-based always-turn HeadOn
Linear light-fast target-focus Linear
circular Powerful-slow target-scope-focus Circular
Perpendicular Medium   nearest robot
arbitary hit-rate based   Log
anti gravity     Statistic
Stop     Angular
Bullet avoid     wave
wall avoid      
track      
Oscillators      

涓嬮潰鏄熀鏈Щ鍔ㄧ瓥鐣ョ殑璇存槑錛?/p>

  • Random錛氶殢鏈虹Щ鍔ㄤ富瑕佺敤鏉ユ販涔辨晫浜虹殑棰勬祴錛屽叾鏈澶х殑涓涓己鐐規(guī)槸鏈夊彲鑳芥挒鍑誨埌鍏朵粬鏈哄櫒浜?
  • Linear錛氱洿綰跨Щ鍔?鏈哄櫒浜哄仛鍗曚竴鐨勭洿綰胯璧?
  • circular錛氬渾鍛ㄧЩ鍔紝榪欑縐誨姩鏄互鏌愪竴鐐逛負(fù)鍦嗗績錛屼笉鍋滅殑緇曞湀
  • Perpendicular錛氭瀵規(guī)晫浜虹Щ鍔紝榪欐槸寰堝浜洪噰鐢ㄧ殑涓縐嶇Щ鍔ㄦ柟寮忥紝榪欏湪鏁屼漢鍙寵竟錛?浠ラ殢鏃惰皟鏁翠笌鏁屼漢鐨勭浉瀵硅
  • Arbitrary錛氫換鎰忕Щ鍔?
  • AntiGravity錛氬亣璁懼満鍦版湁寰堝鍔涚偣鐨勫弽閲嶅姏縐誨姩錛屾湰鏂規(guī)硶鏄ā鎷熷湪閲嶅姏鍦轟綔鐢ㄤ笅錛岀墿浣撴繪槸榪滅閲嶅姏鍔塊珮鐨勭偣錛屾粦鍚戦噸鍔涘娍浣庣殑鐐癸紝寮濮嬫垬鍦烘槸涓涓鉤闈㈢劧鍚庣敓鎴愪竴浜涘娍鐐歸噸鍔涘娍澶х殑鍔跨偣鐨勪綔鐢ㄥ氨鍍忔槸涓涓北(璧鋒帓鏂ヤ綔鐢級錛屽叾琛板噺緋繪暟涓庡北鐨勫潯搴﹀搴斻傞噸鍔涘娍灝忕殑鍔跨偣鐨勪綔鐢ㄥ氨鍍忔槸涓涓綆璋鳳紙璧峰惛寮曚綔鐢級錛屽叾琛板噺緋繪暟涓庤胺鐨勫潯搴﹀搴斻傝繖鏍蜂嬌鏈潵鐨勫鉤闈㈠彉寰椾笉騫充簡錛屼粠鏉ョ墿浣撴部鐫鏈闄$殑鏂瑰悜鍚戜笅婊戝姩
  • Track錛氳窡韙晫浜猴紝鏁屼漢縐誨姩鍒板摢錛屾満鍣ㄤ漢涔熺Щ鍔ㄥ埌鍝紝浣嗘槸鎬諱笌鏁屼漢淇濇寔涓瀹氭渶浣寵翰閬垮瓙寮硅窛紱誨拰瑙掑害
  • Oscillators錛氶噸澶嶅仛涓鎸崱縐誨姩
  • Bullet avoid錛氭瘡褰撻浄杈捐瀵熷埌鏁屼漢鏃舵湁鎵鍔ㄤ綔銆傛満鍣ㄤ漢淇濇寔涓庢晫浜烘垚30搴﹀懼悜瑙掋傝嚜韜垚 90 搴﹁闈欐騫墮愭笎鎺ヨ繎鐩爣銆傚鏋滄満鍣ㄤ漢瑙夊療鍒拌兘閲忎笅闄嶄粙浜?0.1 鍜?3.0 涔嬮棿錛堢伀鍔涜寖鍥達(dá)級錛岄偅涔堟満鍣ㄤ漢灝辯珛鍗沖垏鎹㈡柟鍚戯紝鍚戝乏鎴栧悜鍙崇Щ鍔ㄣ?
  • wall avoid錛氳繖鏄竴縐嶄嬌鑷繁鐨勬満鍣ㄤ漢涓嶄細(xì)琚洶鍦ㄨ钀介噷鎴栬呬笉浼?xì)鎾炲鐨効U誨姩鏂瑰紡

鐬勫噯絳栫暐璇存槑濡備笅錛?/p>

  • Headon錛氭瀵圭瀯鍑?
  • Linear錛氱洿綰跨瀯鍑?
  • circular錛氬渾鍛ㄧ瀯鍑?
  • nearest robot錛氭帴榪戞満鍣ㄤ漢鐬勫噯
  • Log錛氫繚瀛樻瘡嬈″紑鐏褰?
  • Statistic錛氱粺璁″鐬勫噯錛屽垎鏋愭墍鏈夋墦涓強(qiáng)鏈墦涓殑嬈℃暟錛屼互鍏朵腑鎵懼嚭鏈楂樻墦涓晫浜虹殑姒傜巼涓哄噯鍒?
  • Angular錛氭壘鍒版渶浣寵搴︾瀯鍑?
  • Wave錛氭嘗褰㈢瀯鍑嗭紝瀛愬脊浠ユ嘗鐨勬柟寮忚繘琛屾帰嫻?

Robocode 琛屼負(fù)浜嬩歡

鍧﹀厠鐨勪富瑕侀兘瀹氫箟鍦ㄤ竴涓富寰幆涓紝鎴戜滑鍦ㄧ▼搴忎腑瀹氫箟涓轟笂闈㈠洓涓瓥鐣ュ畾涔夊洓縐嶆垬鐣ュMove,Radar,Power,Target錛屽綋鏌愪竴浜嬩歡鍙戠敓錛屽熀浜庤繖涓簨浠惰屽畾鐨勮涓哄氨浼?xì)瑙﹀彂銆傝屾瘡涓垬鐣ヤ腑閮芥湁涓嶅悓鐨勮涓哄鐞嗘柟寮忋傝繖浜涜涓洪氳繃閬椾紶綆楁硶瑙﹀彂錛岄仐浼犵畻娉曞皢璋冪敤榪欎簺鍩烘湰鍔ㄤ綔騫舵悳绱㈣繖浜涚瓥鐣ョ殑鏈浣崇粍鍚堛傚熀浜庤繖浜涘熀鏈姩浣滃皢鏈?224 (=4*11*4*3*8)縐嶅彲鑳藉彂鐢熴傚湪Robocode AdvancedRobot 綾諱笅鏈夊涓嬬殑縐誨姩鍑芥暟錛?/p>

  • setAhead鍜宎head錛氳鏈哄櫒浜哄悜鍓嶇Щ鍔ㄤ竴瀹氳窛紱?
  • setBack鍜宐ack錛氳鏈哄櫒浜哄悜鍚庣Щ鍔ㄤ竴瀹氳窛紱?
  • setMaxTurnRate錛氳緗満鍣ㄤ漢鏈澶х殑鏃嬭漿閫熷害
  • setMaxVelocity錛氳緗満鍣ㄤ漢鏈澶х殑榪愬姩閫熷害
  • setStop鍜宻top錛氬仠姝㈢Щ鍔ㄦ垨鏆傚仠鏈哄櫒浜猴紝騫惰浣忓仠姝㈢殑浣嶇疆
  • setResume鍜宺esume錛氶噸鏂板紑濮嬬Щ鍔ㄥ仠姝㈢殑鏈哄櫒浜?
  • setTurnLeft鍜宼urnLeft錛氬悜宸︽棆杞満鍣ㄤ漢
  • setTurnRight鍜宼urnRight錛氬悜鍙蟲棆杞満鍣ㄤ漢

涓嬮潰鏄?doMove 縐誨姩鏂規(guī)硶涓嬌鐢ㄩ儴鍒嗙▼搴忎唬鐮侊細(xì)

Random錛?/p>
switch(Math.random()*2) {
case 0錛?setTurnRight(Math.random()*90);
break;
case 1錛?setTurnLeft(Math.random()*90);
break; }
execute();

Linear錛?/p>
ahead(200);
setBack(200);

Circular錛?/p>
setTurnRight(1000);
setMaxVelocity(4);
ahead(1000);

anti gravity錛?/p>
 double forceX = 0;
double forceY = 0;
for (int i=0; i

榪欓噷鎴戜滑鐢ㄩ仐浼犵畻娉曟潵鎺у埗鏈哄櫒浜虹Щ鍔ㄤ綅緗傝繖浜涚瓥鐣ユ槸鍩轟簬涓嬮潰鍑犵偣錛氭満鍣ㄤ漢浜鴻嚜宸辯殑浣嶇疆銆侀熷害鍜屾柟浣?瀵規(guī)墜鐨勪綅緗紙x,y鍧愭爣錛夈侀熷害銆佹柟浣嶄互鍙?qiáng)鐩稿瑙?鎵鏈夋満鍣ㄤ漢鍜屽瓙寮逛綅緗紝鏂逛綅鍙?qiáng)閫熷害;鍦哄湴澶у皬絳夊弬鏁般?/p>

褰撲笂闈㈢殑淇℃伅鍦ㄤ笅涓鍥炵Щ鍔ㄤ腑浣跨敤鏃訛紝鍑鴻緭鍑轟竴瀵瑰潗鏍囧鹼紝鏍規(guī)嵁榪欏鍧愭爣鍦≧obocode灝辮兘寰楀埌璺濈鍜岃搴︺傝鎯寵縐誨姩瀹炵幇閬椾紶蹇呴』瑕佽瀹冨疄鐜板湪綰垮涔?fàn)锛?xì)鎵浠ユ垜浠殑浠g爜蹇呴』鍋氫笅闈㈠嚑浠朵簨錛氳鏈変竴涓嚱鏁版敹闆嗛傚簲搴﹀鹼紝鍦≧obocode榪愯榪囩▼涓榪愮敤鍒伴仐浼犳搷浣滐紝閬椾紶鍚庝唬瑕佸湪Robocode榪愯涓駭鐢燂紝鑰屼笉鏄簨鍚庣敱鎵嬪啓鍏ヤ唬鐮併?/p>

閬椾紶鎿嶄綔

鏈緥涓仐浼犵畻娉曚負(fù)瀹炵幇縐誨姩鐢ㄥ埌涓や釜綾籊A鍜孧ovePattern銆傛澶勭殑GA姣旇緝綆鍗曚富瑕佸畬鎴愭暟鎹拰緹や綋鐨勫畾涔夛紝浠ュ強(qiáng)榪欎簺瀹氫箟鐨勮鍐欐枃浠舵搷浣溿傚熀涓寘鎷涓嬪弬鏁幫細(xì)緹や綋澶у皬銆佷氦鍙夋鐜囥佸彉寮傛鐜囥佺簿鑻辨鐜囷紙鏃㈠憡璇変粠褰撳墠緹や綋鍒頒笅涓浠d腑鏈夊灝戠Щ鍔ㄤ笉闇瑕佹敼鍙橈級銆佹柟紼嬪紡涓嬌鐢ㄧ殑鍔犳潈緋繪暟澶у皬錛屽畠閫氳繃涓涓富寰幆瀹屾垚MovePattern鐨勫皝瑁呫侻ovePattern綾諱腑瀹炵幇浜ゅ弶銆佸彉寮傛柟娉曠瓑鏂規(guī)硶錛屽畬鎴愮Щ鍔ㄦā寮忔搷浣溿傝屾墍鏈夌殑杈撳嚭淇濆瓨鍦ㄤ竴涓獀ector鍑芥暟褰撲腑銆俈ector鍑芥暟鎷ユ湁涓瀵瑰疄鏁版暟緇勶紝涓涓敤浜庤綆梮鍧愭爣錛屽彟涓涓敤浜庤綆梱鍧愭爣銆傞氳繃瀵箈,y鍧愭爣鐨勮綆楋紝浠庤屽緱鍒拌窛紱匯佽搴︾瓑鍊鹼紝騫朵駭鐢熺浉灝卞湪縐誨姩絳栫暐銆傚涓嬶紝MovePattern鍖呭惈涓変釜鍙傛暟錛実rad琛ㄧずvector鍑芥暟鎺掑垪欏哄簭錛宨nput鍗寵〃紺虹畻娉曠粰鍑虹殑杈撳叆緙栧彿錛宺ang鏄姞鏉冪殑鑼冨洿銆?/p>
public class MovePatteren implements Comparable {
private int grad, input;
private double range;
protected double fitness=0;
protected double[] weightsX, weightsY;
… }

浜ゅ弶鎿嶄綔錛氭瘡涓涓氦鍙夋搷浣滄墽琛屽涓嬫楠わ紝鍏堝湪浜ゅ弶鎿嶄綔涓駭鐢熶竴涓壒寰佺爜銆傝繖涓壒寰佺爜鏄釜0鍒?涔嬮棿鐨勫彉閲忔暟緇勩傛湁鍏充氦鍙夌殑鍩烘湰鍘熺悊鍙弬鑰冧笂闈㈤儴鍒嗐傛渶鍚庨氳繃閬嶅巻vector鍑芥暟錛屾妸鐩稿簲鐨勫姞鏉冨艱繘琛屼氦鍙夋搷浣溿?/p>
protected MovePatteren crossOver(MovePatteren mate, boolean[] maskx, boolean[] masky) {
double[] wx= new double[weightsX.length];
double[] wy= new double[weightsX.length];
for(int mask=0; mask <="" pre="" mask++)="" for(int="" g="0;" g

榪欓噷鐨勫彉寮傛搷浣滄瘮杈冪畝鍗曘傛妸鍔犳潈鑼冨洿鍐呯殑闅忔満鏁板煎幓浠f浛0鍒版暟緇勯暱涔嬮棿鐨勯殢鏈烘暟騫朵繚瀛樺埌縐誨姩妯″紡涓傚垯瀹屾垚鏁翠釜鏁扮粍鐨勫彉寮傝繃紼嬶細(xì)

protected void mutate() {
weightsX[(int)(Math.random()*weightsX.length)]=Math.random()*range*2-range;
weightsY[(int)(Math.random()*weightsX.length)]=Math.random()*range*2-range;
}

浠庝笂闈㈢殑渚嬪瓙鎴戜滑鐭ラ亾浜嗛仐浼犵畻娉曠殑澶ф瀹炵幇錛屼絾騫舵病鏈夊憡璇夋垜浠繖浜涚粍浠舵槸濡備綍涓璧峰伐浣滅殑銆傚綋Robocode寮濮嬫椂錛屽鏋滄枃浠朵腑娌℃湁鏁版嵁錛屾墍浠ョ郴緇熶細(xì)渚濈収杈撳叆鐨勭瓥鐣ラ殢鏈虹敓鎴愪竴涓Щ鍔ㄦā寮忥紝濡傛灉鏂囦歡涓湁鏁版嵁錛屽垯鍔犺澆榪欎簺鏁版嵁銆傛瘡涓涓Щ鍔ㄦā寮忓湪寮濮嬮兘浼?xì)缁欏囖Z簡涓涓傚簲搴﹀箋傚綋鎵鏈夌殑縐誨姩妯″紡閮芥帴鏀跺埌閫傚簲搴﹀鹼紝騫跺畬鎴愬悇鑷殑緙栧彿鍚庯紝涓嬮潰鐨勬搷浣滃皢寮濮嬫墽琛岋細(xì)

  1. 瀵規(guī)墍鏈夌殑縐誨姩妯″紡渚濇嵁瀹冧滑鐨勯傚簲搴﹀艱繘琛屽垎綰у鐞?
  2. 鎵ц綺捐嫳鎿嶄綔
  3. 鎵ц浜ゅ弶鎿嶄綔
  4. 搴旂敤鍙樺紓鎿嶄綔
  5. 淇濆瓨鍔犳潈
  6. 綆楁硶閲嶆柊寮濮?

閫傚簲搴﹀煎湪榪涜榪愮畻榪囩▼涓敱鏈哄櫒浜虹▼搴忎笉鏂皟鏁達(dá)紝浠ユ壘鍒版渶浼橀傚簲搴︺?/p>

闄愪簬綃囧壇鍏朵粬鐨勪竴浜涚瓥鐣ユ湰鏂囦笉涓庤緇嗚鏄庯紝涓婇潰鎵鏈夋彁鍒扮殑絳栫暐鍜岃涓虹▼搴忛兘鍙湪緗戜笂鎴朓BM鐨勫紑鍙戞潅蹇椾笂鎵懼埌鎴愮啛鐨勮瑙e拰渚嬪瓙鏈哄櫒浜恒傛湁鍏磋叮鐨勬湅鍙嬪彲浠ユ妸榪欎簺絳栫暐閮藉姞鍏ュ埌鑷繁鐨勯仐浼犵畻娉曚腑鏉ャ傛垜浠彇緹や綋澶у皬涓?0錛岄夋嫨姒傜巼涓?.7錛屼氦鍙夋鐜囦負(fù)0.6錛屽彉寮傛鐜囦負(fù)0.3錛屼笌Robocode閮ㄥ垎渚嬪瓙鏈哄櫒浜烘祴璇曪紝緇忚繃150浠e悗浣犱細(xì)鍙戠幇緋葷粺浜х敓浜嗗緢澶氭湁瓚g殑絳栫暐銆傛瘮濡傛挒鍑葷瓥鐣ワ紝榪欎簺絳栫暐閮戒笉鍦ㄦ垜浠畾涔夌殑絳栫暐涔嬩腑銆?/p>






涓棿瑙i噴紼嬪簭榪涘寲鏈哄櫒浜?/font>

閬椾紶綆楁硶鍙鐪嬪仛浠繪剰鍩哄洜緇勫瓧絎︿覆銆備絾鏄綘蹇呴』鍐沖畾榪欎簺瀛楃鎵浠h〃鐨勬剰涔夛紝涔熷氨鏄濡備綍瑙i噴姣忎竴涓熀鍥犵粍銆傛渶綆鍗曠殑鏂規(guī)硶鏄妸姣忎竴涓熀鍥犵粍瑙嗕負(fù)java浠g爜錛岀紪璇戝茍榪愯瀹冧滑銆備絾鏄繖浜涚▼搴忕紪璇戦兘寰堝洶闅撅紝鎵浠ヤ篃灝辨湁鍙兘涓嶈兘宸ヤ綔銆侸acob Eisenstein璁捐浜嗕竴縐嶆満鍣ㄧ炕璇戣璦TableRex鏉ヨВ鍐寵繖涓棶棰樸傚湪java涓紝TableRex琚敤浜庤繘鍖栧拰瑙i噴鍔ㄨ鏃剁殑Robocode 鏈哄櫒浜恒傞氳繃嫻嬭瘯錛屽彧瑕佹垜鎶奣ableRex瑙i噴紼嬪簭浣滀負(fù)鏂囦歡鏀懼叆Robocode鎺у埗鍣ㄧ洰褰曚腑錛岃繖浜涙帶鍒跺櫒灝變細(xì)璇誨彇鏂囦歡騫跺紑濮嬫垬鏂椼俆ableRex鏄竴浜涙渶閫傚悎閬椾紶綆楁硶鐨勪簩榪涘埗緙栫▼銆傚彧瑕佺鍚圱ableRex紼嬪簭鏂囨硶錛屾瘡涓▼搴忛兘鑳借瑙i噴銆?/p>

緙栫爜

涓嬭〃涓樉紺轟簡TableRex緙栫爜緇撴瀯錛屽畠鐢變竴涓鍔ㄤ綔鍑芥暟錛屼簩涓緭鍏ュ拰涓涓緭鍑虹粍鎴愩傚琛?鐨勫?錛岃繖鏄釜甯冨皵鍨嬬殑琛ㄨ揪寮?#8220;鍊?line4 灝忎簬 90”錛岃繖涓粨鏋滀細(xì)鍦ㄦ渶鍚庝竴琛岃緭鍑哄竷?yōu)當(dāng)湄?fù)1鐨勫箋?/p>
Function Input 1 Input 2 Output
1. Random ignore ignore 0,87
2. Divide Const_1 Const_2 0,5
3. Greater Than Line 1 Line 2 1
4. Normalize Angle Enemy bearing ignore -50
5. Absolute Value Line 4 ignore 50
6. Less Than Line 4 Const_90 1
7. And Line 6 Line 3 1
8. Multiply Const_10 Const_10 100
9. Less Than Enemy distance Line 8 0
10. And Line 9 Line 7 0
11. Multiply Line 10 Line 4 0
12 Output Turn gun left Line 11 0


娌涙矝 2011-04-14 22:27 鍙戣〃璇勮
]]>
涓嶄嬌鐢ㄥ簱鍑芥暟錛岀紪鍐欏嚱鏁癷nt strcmp(char *source, char *dest) 鐩哥瓑榪斿洖0錛屼笉絳夎繑鍥?1http://www.shnenglu.com/mmdengwo/archive/2011/04/14/144253.html娌涙矝娌涙矝Thu, 14 Apr 2011 14:26:00 GMThttp://www.shnenglu.com/mmdengwo/archive/2011/04/14/144253.htmlhttp://www.shnenglu.com/mmdengwo/comments/144253.htmlhttp://www.shnenglu.com/mmdengwo/archive/2011/04/14/144253.html#Feedback0http://www.shnenglu.com/mmdengwo/comments/commentRss/144253.htmlhttp://www.shnenglu.com/mmdengwo/services/trackbacks/144253.html#include <stdio.h>
#include 
<stdlib.h>

int strcmp(char *source, char *dest)
{
while(*source == *dest && *source != '\0' && *dest != '\0')
{
  source
++;
  dest
++;
}

if (*source =='\0' && *dest == '\0')
  
return 0;
else
  
return -1;


}

int main()
{
char *str1 = "abcde";
char *str2 = "abcde";
printf(
"ret = %d", mystrcmp(str1, str2));

return 0;
}


娌涙矝 2011-04-14 22:26 鍙戣〃璇勮
]]>
鍏ぇ鎺掑簭綆楁硶鎬葷粨 http://www.shnenglu.com/mmdengwo/archive/2011/04/14/144250.html娌涙矝娌涙矝Thu, 14 Apr 2011 14:18:00 GMThttp://www.shnenglu.com/mmdengwo/archive/2011/04/14/144250.htmlhttp://www.shnenglu.com/mmdengwo/comments/144250.htmlhttp://www.shnenglu.com/mmdengwo/archive/2011/04/14/144250.html#Feedback0http://www.shnenglu.com/mmdengwo/comments/commentRss/144250.htmlhttp://www.shnenglu.com/mmdengwo/services/trackbacks/144250.html 

鎻掑叆鎺掑簭

1.鐩存帴鎻掑叆鎺掑簭

鍘熺悊錛氬皢鏁扮粍鍒嗕負(fù)鏃犲簭鍖哄拰鏈夊簭鍖轟袱涓尯錛岀劧鍚庝笉鏂皢鏃犲簭鍖虹殑絎竴涓厓绱犳寜澶у皬欏哄簭鎻掑叆鍒版湁搴忓尯涓幓錛屾渶緇堝皢鎵鏈夋棤搴忓尯鍏冪礌閮界Щ鍔ㄥ埌鏈夊簭鍖哄畬鎴愭帓搴忋?/span>

瑕佺偣錛氳绔嬪摠鍏碉紝浣滀負(fù)涓存椂瀛樺偍鍜屽垽鏂暟緇勮竟鐣屼箣鐢ㄣ?/span>

瀹炵幇錛?/span>

Void InsertSort(Node L[],int length)

{

Int i,j;//鍒嗗埆涓烘湁搴忓尯鍜屾棤搴忓尯鎸囬拡

for(i=1;i<length;i++)//閫愭鎵╁ぇ鏈夊簭鍖?/span>

{

j=i+1;

if(L[j]<L[i])

{

L[0]=L[j];//瀛樺偍寰呮帓搴忓厓绱?/span>

While(L[0]<L[i])//鏌ユ壘鍦ㄦ湁搴忓尯涓殑鎻掑叆浣嶇疆錛屽悓鏃剁Щ鍔ㄥ厓绱?/span>

{

L[i+1]=L[i];//縐誨姩

i--;//鏌ユ壘

}

L[i+1]=L[0];//灝嗗厓绱犳彃鍏?/span>

}

i=j-1;//榪樺師鏈夊簭鍖烘寚閽?/span>

}

}

2.甯屽皵鎺掑簭

鍘熺悊錛氬張縐板閲忕緝?yōu)畯鎺掑簭銆傚厛灝嗗簭鍒楁寜澧為噺鍒掑垎涓哄厓绱犱釜鏁扮浉鍚岀殑鑻ュ共緇勶紝浣跨敤鐩存帴鎻掑叆鎺掑簭娉曡繘琛屾帓搴忥紝鐒跺悗涓嶆柇緙╁皬澧為噺鐩磋嚦涓?span style="LINE-HEIGHT: 21px; FONT-FAMILY: 'Times New Roman'">1錛屾渶鍚庝嬌鐢ㄧ洿鎺ユ彃鍏ユ帓搴忓畬鎴愭帓搴忋?/span>

瑕佺偣錛氬閲忕殑閫夋嫨浠ュ強(qiáng)鎺掑簭鏈緇堜互1涓哄閲忚繘琛屾帓搴忕粨鏉熴?/span>

瀹炵幇錛?/span>

Void shellSort(Node L[],int d)

{

While(d>=1)//鐩村埌澧為噺緙╁皬涓?

{

Shell(L,d);

d=d/2;//緙╁皬澧為噺

}

}

Void Shell(Node L[],int d)

{

Int i,j;

For(i=d+1;i<length;i++)

{

if(L[i]<L[i-d])

{

L[0]=L[i];

j=i-d;

While(j>0&&L[j]>L[0])

{

L[j+d]=L[j];//縐誨姩

j=j-d;//鏌ユ壘

}

L[j+d]=L[0];

}

}

}

浜ゆ崲鎺掑簭

1.鍐掓場鎺掑簭

鍘熺悊錛氬皢搴忓垪鍒掑垎涓烘棤搴忓拰鏈夊簭鍖猴紝涓嶆柇閫氳繃浜ゆ崲杈冨ぇ鍏冪礌鑷蟲棤搴忓尯灝懼畬鎴愭帓搴忋?/span>

瑕佺偣錛氳璁′氦鎹㈠垽鏂潯浠訛紝鎻愬墠緇撴潫浠ユ帓濂藉簭鐨勫簭鍒楀驚鐜?/span>

瀹炵幇錛?/span>

Void BubbleSort(Node L[])

{

Int i ,j;

Bool ischanged;//璁捐璺沖嚭鏉′歡

For(j=n;j<0;j--)

{

ischanged =false;

For(i=0;i<j;i++)

{

If(L[i]>L[i+1])//濡傛灉鍙戠幇杈冮噸鍏冪礌灝卞悜鍚庣Щ鍔?/span>

{

Int temp=L[i];

L[i]=L[i+1];

L[i+1]=temp;

Ischanged =true;

}

}

If(!ischanged)//鑻ユ病鏈夌Щ鍔ㄥ垯璇存槑搴忓垪宸茬粡鏈夊簭錛岀洿鎺ヨ煩鍑?/span>

Break;

}

}

2.蹇熸帓搴?/span>

鍘熺悊錛氫笉鏂鎵句竴涓簭鍒楃殑涓偣錛岀劧鍚庡涓偣宸﹀彸鐨勫簭鍒楅掑綊鐨勮繘琛屾帓搴忥紝鐩磋嚦鍏ㄩ儴搴忓垪鎺掑簭瀹屾垚錛屼嬌鐢ㄤ簡鍒嗘不鐨勬濇兂銆?/span>

瑕佺偣錛氶掑綊銆佸垎娌?/span>

瀹炵幇錛?/span>


閫夋嫨鎺掑簭

1.鐩存帴閫夋嫨鎺掑簭

鍘熺悊錛氬皢搴忓垪鍒掑垎涓烘棤搴忓拰鏈夊簭鍖猴紝瀵繪壘鏃犲簭鍖轟腑鐨勬渶灝忓煎拰鏃犲簭鍖虹殑棣栧厓绱犱氦鎹紝鏈夊簭鍖烘墿澶т竴涓紝寰幆鏈緇堝畬鎴愬叏閮ㄦ帓搴忋?/span>

瑕佺偣錛?/span>

瀹炵幇錛?/span>

Void SelectSort(Node L[])

{

Int i,j,k;//鍒嗗埆涓烘湁搴忓尯錛屾棤搴忓尯錛屾棤搴忓尯鏈灝忓厓绱犳寚閽?/span>

For(i=0;i<length;i++)

{

k=i;

For(j=i+1;j<length;j++)

{

If(L[j]<L[k])

k=j;

}

If(k!=i)//鑻ュ彂鐜版渶灝忓厓绱狅紝鍒欑Щ鍔ㄥ埌鏈夊簭鍖?/span>

{

Int temp=L[k];

L[k]=L[i];

L[i]=L[temp];

}

 

}

}

2.鍫嗘帓搴?/span>

鍘熺悊錛氬埄鐢ㄥぇ鏍瑰爢鎴栧皬鏍瑰爢鎬濇兂錛岄鍏堝緩绔嬪爢錛岀劧鍚庡皢鍫嗛涓庡爢灝句氦鎹紝鍫嗗熬涔嬪悗涓烘湁搴忓尯銆?/span>

瑕佺偣錛氬緩鍫嗐佷氦鎹€佽皟鏁村爢

瀹炵幇錛?/span>

Void HeapSort(Node L[])

{

BuildingHeap(L);//寤哄爢錛堝ぇ鏍瑰爢錛?/span>

For(int i=n;i>0;i--)//浜ゆ崲

{

Int temp=L[i];

L[i]=L[0];

L[0]=temp;

Heapify(L,0,i);//璋冩暣鍫?/span>

}

}


Void BuildingHeap(Node L[])

{ For(i=length/2 -1;i>0;i--)

Heapify(L,i,length);

}

褰掑茍鎺掑簭

鍘熺悊錛氬皢鍘熷簭鍒楀垝鍒嗕負(fù)鏈夊簭鐨勪袱涓簭鍒楋紝鐒跺悗鍒╃敤褰掑茍綆楁硶榪涜鍚堝茍錛屽悎騫朵箣鍚庡嵆涓烘湁搴忓簭鍒椼?/span>

瑕佺偣錛氬綊騫躲佸垎娌?/span>

瀹炵幇錛?/span>

Void MergeSort(Node L[],int m,int n)

{

Int k;

If(m<n)

{

K=(m+n)/2;

MergeSort(L,m,k);

MergeSort(L,k+1,n);

Merge(L,m,k,n);

}

}


鍩烘暟鎺掑簭

鍘熺悊錛氬皢鏁板瓧鎸変綅鏁板垝鍒嗗嚭n涓叧閿瓧錛屾瘡嬈¢拡瀵逛竴涓叧閿瓧榪涜鎺掑簭錛岀劧鍚庨拡瀵規(guī)帓搴忓悗鐨勫簭鍒楄繘琛屼笅涓涓叧閿瓧鐨勬帓搴忥紝寰幆鑷蟲墍鏈夊叧閿瓧閮戒嬌鐢ㄨ繃鍒欐帓搴忓畬鎴愩?/span>

瑕佺偣錛氬鍏抽敭瀛楃殑閫夊彇錛屽厓绱犲垎閰嶆敹闆嗐?/span>

瀹炵幇錛?/span>

Void RadixSort(Node L[],length,maxradix)

{

Int m,n,k,lsp;

k=1;m=1;

Int temp[10][length-1];

Empty(temp); //娓呯┖涓存椂絀洪棿

While(k<maxradix) //閬嶅巻鎵鏈夊叧閿瓧

{

For(int i=0;i<length;i++) //鍒嗛厤榪囩▼

{

If(L[i]<m)

Temp[0][n]=L[i];

Else

Lsp=(L[i]/m)%10; //紜畾鍏抽敭瀛?/span>

Temp[lsp][n]=L[i];

n++;

}

CollectElement(L,Temp); //鏀墮泦

n=0;

m=m*10;

k++;

}

}



娌涙矝 2011-04-14 22:18 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久伊人亚洲| 欧美一区二区日韩一区二区| 亚洲成人在线视频播放| 亚洲综合色噜噜狠狠| 亚洲东热激情| 久久国产99| 91久久精品国产91久久性色| 女同一区二区| 欧美日韩亚洲一区二| 中日韩高清电影网| 一本久久综合亚洲鲁鲁五月天| 欧美日本一区二区高清播放视频| 国产免费成人av| 亚洲一二三区精品| 欧美一级黄色网| 亚洲高清不卡在线| 香蕉久久夜色精品| 亚洲永久网站| 国产亚洲va综合人人澡精品| 亚洲一区精品视频| 亚洲高清在线观看| 欧美高清一区| 日韩午夜av| 亚洲第一精品影视| 亚洲人成绝费网站色www| 欧美精品一区三区| 久久久综合视频| 久久―日本道色综合久久| 亚洲欧洲在线播放| 欧美在线观看视频在线| 一本色道久久88亚洲综合88| 六月婷婷一区| 另类专区欧美制服同性| 免费在线观看成人av| 一区二区三区成人| 久久久久久亚洲精品不卡4k岛国| 亚洲二区视频| 亚洲综合成人在线| 亚洲婷婷国产精品电影人久久| 老色批av在线精品| 亚洲黄色成人| 日韩亚洲欧美高清| 欧美激情一二区| 亚洲国产日韩欧美一区二区三区| 欧美日产在线观看| 亚洲综合激情| 久久久久国色av免费看影院 | av成人老司机| 国产精品一区视频网站| 亚洲欧美亚洲| 免费人成网站在线观看欧美高清| 国产嫩草影院久久久久| 99av国产精品欲麻豆| 制服丝袜亚洲播放| 欧美日韩在线精品| 亚洲欧美成人精品| 日韩午夜免费| 欧美成人免费全部观看天天性色| 亚洲精品一区二区三区福利| 午夜久久久久久| 在线观看中文字幕亚洲| 美日韩在线观看| 在线亚洲成人| 欧美一区二区三区免费观看| 韩国久久久久| 国产九九精品视频| 久久综合九色综合欧美狠狠| 亚洲精品综合精品自拍| 亚洲神马久久| 亚洲高清免费在线| 国产欧美一区二区精品仙草咪| 久久久青草青青国产亚洲免观| 亚洲人成77777在线观看网| 一区二区不卡在线视频 午夜欧美不卡在 | 久久成人一区| 欧美国产第一页| 欧美一级黄色录像| 亚洲久久视频| 亚洲国产精品成人va在线观看| 欧美精品乱人伦久久久久久 | 日韩亚洲欧美一区二区三区| 亚洲精品乱码久久久久久按摩观| 国产欧美精品日韩精品| 欧美三区在线观看| 久久精品国产69国产精品亚洲 | 黄色一区二区三区| 国产精品扒开腿爽爽爽视频 | 欧美一区二区三区四区高清| 亚洲欧美国产日韩天堂区| 亚洲激情av| 亚洲毛片一区| 亚洲夜间福利| 午夜一区二区三区不卡视频| 亚洲一区观看| 性色一区二区| 欧美sm极限捆绑bd| 亚洲精品极品| 先锋影音国产精品| 久久成人免费网| 欧美激情四色| 国产欧美精品在线播放| 136国产福利精品导航| 韩国av一区二区三区在线观看 | 亚洲影院色无极综合| 欧美专区18| 久久综合中文色婷婷| 麻豆91精品91久久久的内涵| 久久九九99| 欧美精品激情在线观看| 国产精品福利av| 樱桃视频在线观看一区| 日韩午夜视频在线观看| 久久精品视频免费播放| 亚洲大片av| 日韩午夜免费视频| 亚洲欧美一区二区三区在线| 久久久噜噜噜久久狠狠50岁| 欧美日韩国产不卡| 激情久久久久久久久久久久久久久久| 亚洲精品视频在线观看免费| 久久久国产91| 宅男噜噜噜66一区二区| 久久久精品tv| 亚洲高清免费| 久久精品五月婷婷| 欧美一区激情视频在线观看| 欧美福利专区| 亚洲日本在线观看| 亚洲美女视频| 欧美成人午夜激情| 亚洲一区二区在线视频 | 欧美福利视频| 欧美精品午夜| 最近中文字幕日韩精品| 免费观看在线综合| 久久国产精品亚洲77777| 国产精品入口麻豆原神| 亚洲精品一区二区三区不| 最新高清无码专区| 美女视频黄 久久| 亚洲日本电影在线| 亚洲激情成人网| 欧美调教视频| 欧美一区二视频| 欧美在线视频免费播放| 亚洲一区二区三区中文字幕| 久久免费精品视频| 美女脱光内衣内裤视频久久影院 | 99视频精品免费观看| 久久成人免费网| 99国产精品99久久久久久粉嫩| 亚洲精品日韩综合观看成人91| 国产精品女主播在线观看 | 国内精品福利| 一区二区三区欧美亚洲| 尤物九九久久国产精品的特点 | 亚洲深爱激情| 亚洲国语精品自产拍在线观看| 一本色道久久综合亚洲精品高清| 国内外成人在线视频| 中文高清一区| 9国产精品视频| 91久久精品日日躁夜夜躁国产| 亚洲欧美日韩在线观看a三区 | 先锋影音网一区二区| 在线观看久久av| 欧美日韩在线一二三| 久久久久网站| 午夜精品福利视频| 亚洲国产精品高清久久久| 亚洲欧美日韩国产一区| 亚洲精品一区中文| 狠狠色狠狠色综合人人| 国产精品热久久久久夜色精品三区| 久久夜色精品国产亚洲aⅴ| 国产精品99久久久久久有的能看| 亚洲电影欧美电影有声小说| 欧美一区二区三区视频免费| 久久九九免费视频| 亚洲精品资源美女情侣酒店| 午夜在线不卡| 欧美日韩国产精品成人| 欧美日韩一区二区在线观看 | 久久久高清一区二区三区| 免费观看日韩av| 国内精品国产成人| 亚洲欧美激情诱惑| 亚洲美女淫视频| 免费视频久久| 在线播放日韩| 久久精品30| 亚洲午夜在线视频| 亚洲少妇自拍| 老司机精品视频网站| 亚洲电影在线看| 亚洲午夜电影在线观看| 久久精品免费| 国产精品午夜av在线| 亚洲电影在线| 久久精品亚洲一区二区三区浴池|