锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩精品一二三四区,欧美伊人影院,91在线看国产http://www.aygfsteel.com/chenlb/category/32542.html濂借鎬т笉濡傜儌絎斿ご!zh-cnTue, 01 Jul 2008 09:23:45 GMTTue, 01 Jul 2008 09:23:45 GMT60Levenshtein Distance(LD)-璁$畻涓ゅ瓧絎︿覆鐩鎬技搴︾畻娉?/title><link>http://www.aygfsteel.com/chenlb/archive/2008/06/25/210456.html</link><dc:creator>嫻佹氮姹?/dc:creator><author>嫻佹氮姹?/author><pubDate>Wed, 25 Jun 2008 02:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/chenlb/archive/2008/06/25/210456.html</guid><wfw:comment>http://www.aygfsteel.com/chenlb/comments/210456.html</wfw:comment><comments>http://www.aygfsteel.com/chenlb/archive/2008/06/25/210456.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/chenlb/comments/commentRss/210456.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/chenlb/services/trackbacks/210456.html</trackback:ping><description><![CDATA[<p>    涓ゅ瓧絎︿覆鐩鎬技搴﹁綆楁柟娉曟湁濂藉錛岀幇瀵瑰熀浜庣紪璺濈殑綆楁硶鐨勭浉浼煎害璁$畻鑷繁鎬葷粨涓嬨?/p> <p> </p> <p>    綆鍗曚粙緇嶄笅Levenshtein Distance(LD)錛歀D 鍙兘琛¢噺涓ゅ瓧絎︿覆鐨勭浉浼兼с傚畠浠殑璺濈灝辨槸涓涓瓧絎︿覆杞崲鎴愰偅涓涓瓧絎︿覆榪囩▼涓殑娣誨姞銆佸垹闄ゃ佷慨鏀規暟鍊箋?/p> <p>    涓句緥錛?/p> <ul> <li>濡傛灉str1="test"錛宻tr2="test"錛岄偅涔圠D(str1,str2) = 0銆傛病鏈夌粡榪囪漿鎹€? <li>濡傛灉str1="test"錛宻tr2="tent"錛岄偅涔圠D(str1,str2) = 1銆俿tr1鐨?s"杞崲"n"錛岃漿鎹簡涓涓瓧絎︼紝鎵浠ユ槸1銆?</li> </ul> <p>濡傛灉瀹冧滑鐨勮窛紱昏秺澶э紝璇存槑瀹冧滑瓚婃槸涓嶅悓銆?/p> <p> </p> <p>     Levenshtein distance鏈鍏堟槸鐢變縿鍥界瀛﹀Vladimir Levenshtein鍦?965騫村彂鏄庯紝鐢ㄤ粬鐨勫悕瀛楀懡鍚嶃備笉浼氭嫾璇伙紝鍙互鍙畠edit distance錛堢紪杈戣窛紱伙級銆?/p> <p> </p> <p>    Levenshtein distance鍙互鐢ㄦ潵錛?/p> <ul> <li>Spell checking(鎷煎啓媯鏌? <li>Speech recognition(璇彞璇嗗埆) <li>DNA analysis(DNA鍒嗘瀽) <li>Plagiarism detection(鎶勮媯嫻? </li> </ul> <p>LD鐢╩*n鐨勭煩闃靛瓨鍌ㄨ窛紱誨箋傜畻娉曞ぇ姒傝繃紼嬶細</p> <ol> <li>str1鎴杝tr2鐨勯暱搴︿負0榪斿洖鍙︿竴涓瓧絎︿覆鐨勯暱搴︺? <li>鍒濆鍖?n+1)*(m+1)鐨勭煩闃礵錛屽茍璁╃涓琛屽拰鍒楃殑鍊間粠0寮濮嬪闀褲? <li>鎵弿涓ゅ瓧絎︿覆錛坣*m綰х殑錛夛紝濡傛灉錛歴tr1[i] == str2[j]錛岀敤temp璁板綍瀹冿紝涓?銆傚惁鍒檛emp璁頒負1銆傜劧鍚庡湪鐭╅樀d[i][j]璧嬩簬d[i-1][j]+1 銆乨[i][j-1]+1銆乨[i-1][j-1]+temp涓夎呯殑鏈灝忓箋? <li>鎵弿瀹屽悗錛岃繑鍥炵煩闃電殑鏈鍚庝竴涓煎嵆d[n][m] </li> </ol> <p>鏈鍚庤繑鍥炵殑鏄畠浠殑璺濈銆傛庝箞鏍規嵁榪欎釜璺濈姹傚嚭鐩鎬技搴﹀憿錛熷洜涓哄畠浠殑鏈澶ц窛紱誨氨鏄袱瀛楃涓查暱搴︾殑鏈澶у箋傚瀛楃涓蹭笉鏄緢鏁忔劅銆傜幇鎴戞妸鐩鎬技搴﹁綆楀叕寮忓畾涓?-瀹冧滑鐨勮窛紱?瀛楃涓查暱搴︽渶澶у箋?/p> <p> </p> <p>    婧愮爜錛?/p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">package</span><span style="color: #000000"> com.chenlb.algorithm;<br /> <br /> </span><span style="color: #008000">/**</span><span style="color: #008000"><br />  * 緙栬緫璺濈鐨勪袱瀛楃涓茬浉浼煎害<br />  * <br />  * </span><span style="color: #808080">@author</span><span style="color: #008000"> chenlb 2008-6-24 涓嬪崍06:41:55<br />  </span><span style="color: #008000">*/</span><span style="color: #000000"><br /> </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Similarity {<br /> <br />     </span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> min(</span><span style="color: #0000ff">int</span><span style="color: #000000"> one, </span><span style="color: #0000ff">int</span><span style="color: #000000"> two, </span><span style="color: #0000ff">int</span><span style="color: #000000"> three) {<br />         </span><span style="color: #0000ff">int</span><span style="color: #000000"> min </span><span style="color: #000000">=</span><span style="color: #000000"> one;<br />         </span><span style="color: #0000ff">if</span><span style="color: #000000">(two </span><span style="color: #000000"><</span><span style="color: #000000"> min) {<br />             min </span><span style="color: #000000">=</span><span style="color: #000000"> two;<br />         }<br />         </span><span style="color: #0000ff">if</span><span style="color: #000000">(three </span><span style="color: #000000"><</span><span style="color: #000000"> min) {<br />             min </span><span style="color: #000000">=</span><span style="color: #000000"> three;<br />         }<br />         </span><span style="color: #0000ff">return</span><span style="color: #000000"> min;<br />     }<br />     <br />     </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> ld(String str1, String str2) {<br />         </span><span style="color: #0000ff">int</span><span style="color: #000000"> d[][];    </span><span style="color: #008000">//</span><span style="color: #008000">鐭╅樀</span><span style="color: #008000"><br /> </span><span style="color: #000000">        </span><span style="color: #0000ff">int</span><span style="color: #000000"> n </span><span style="color: #000000">=</span><span style="color: #000000"> str1.length();<br />         </span><span style="color: #0000ff">int</span><span style="color: #000000"> m </span><span style="color: #000000">=</span><span style="color: #000000"> str2.length();<br />         </span><span style="color: #0000ff">int</span><span style="color: #000000"> i;    </span><span style="color: #008000">//</span><span style="color: #008000">閬嶅巻str1鐨?/span><span style="color: #008000"><br /> </span><span style="color: #000000">        </span><span style="color: #0000ff">int</span><span style="color: #000000"> j;    </span><span style="color: #008000">//</span><span style="color: #008000">閬嶅巻str2鐨?/span><span style="color: #008000"><br /> </span><span style="color: #000000">        </span><span style="color: #0000ff">char</span><span style="color: #000000"> ch1;    </span><span style="color: #008000">//</span><span style="color: #008000">str1鐨?/span><span style="color: #008000"><br /> </span><span style="color: #000000">        </span><span style="color: #0000ff">char</span><span style="color: #000000"> ch2;    </span><span style="color: #008000">//</span><span style="color: #008000">str2鐨?/span><span style="color: #008000"><br /> </span><span style="color: #000000">        </span><span style="color: #0000ff">int</span><span style="color: #000000"> temp;    </span><span style="color: #008000">//</span><span style="color: #008000">璁板綍鐩稿悓瀛楃,鍦ㄦ煇涓煩闃典綅緗肩殑澧為噺,涓嶆槸0灝辨槸1</span><span style="color: #008000"><br /> </span><span style="color: #000000">        </span><span style="color: #0000ff">if</span><span style="color: #000000">(n </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">) {<br />             </span><span style="color: #0000ff">return</span><span style="color: #000000"> m;<br />         }<br />         </span><span style="color: #0000ff">if</span><span style="color: #000000">(m </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">) {<br />             </span><span style="color: #0000ff">return</span><span style="color: #000000"> n;<br />         }<br />         d </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000">[n</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">][m</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">];<br />         </span><span style="color: #0000ff">for</span><span style="color: #000000">(i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">; i</span><span style="color: #000000"><=</span><span style="color: #000000">n; i</span><span style="color: #000000">++</span><span style="color: #000000">) {    </span><span style="color: #008000">//</span><span style="color: #008000">鍒濆鍖栫涓鍒?/span><span style="color: #008000"><br /> </span><span style="color: #000000">            d[i][</span><span style="color: #000000">0</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> i;<br />         }<br />         </span><span style="color: #0000ff">for</span><span style="color: #000000">(j</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">; j</span><span style="color: #000000"><=</span><span style="color: #000000">m; j</span><span style="color: #000000">++</span><span style="color: #000000">) {    </span><span style="color: #008000">//</span><span style="color: #008000">鍒濆鍖栫涓琛?/span><span style="color: #008000"><br /> </span><span style="color: #000000">            d[</span><span style="color: #000000">0</span><span style="color: #000000">][j] </span><span style="color: #000000">=</span><span style="color: #000000"> j;<br />         }<br />         </span><span style="color: #0000ff">for</span><span style="color: #000000">(i</span><span style="color: #000000">=</span><span style="color: #000000">1</span><span style="color: #000000">; i</span><span style="color: #000000"><=</span><span style="color: #000000">n; i</span><span style="color: #000000">++</span><span style="color: #000000">) {    </span><span style="color: #008000">//</span><span style="color: #008000">閬嶅巻str1</span><span style="color: #008000"><br /> </span><span style="color: #000000">            ch1 </span><span style="color: #000000">=</span><span style="color: #000000"> str1.charAt(i</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">);<br />             </span><span style="color: #008000">//</span><span style="color: #008000">鍘誨尮閰峴tr2</span><span style="color: #008000"><br /> </span><span style="color: #000000">            </span><span style="color: #0000ff">for</span><span style="color: #000000">(j</span><span style="color: #000000">=</span><span style="color: #000000">1</span><span style="color: #000000">; j</span><span style="color: #000000"><=</span><span style="color: #000000">m; j</span><span style="color: #000000">++</span><span style="color: #000000">) {<br />                 ch2 </span><span style="color: #000000">=</span><span style="color: #000000"> str2.charAt(j</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">);<br />                 </span><span style="color: #0000ff">if</span><span style="color: #000000">(ch1 </span><span style="color: #000000">==</span><span style="color: #000000"> ch2) {<br />                     temp </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />                 } </span><span style="color: #0000ff">else</span><span style="color: #000000"> {<br />                     temp </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">;<br />                 }<br />                 </span><span style="color: #008000">//</span><span style="color: #008000">宸﹁竟+1,涓婅竟+1, 宸︿笂瑙?temp鍙栨渶灝?/span><span style="color: #008000"><br /> </span><span style="color: #000000">                d[i][j] </span><span style="color: #000000">=</span><span style="color: #000000"> min(d[i</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">][j]</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">, d[i][j</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">]</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">, d[i</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">][j</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">]</span><span style="color: #000000">+</span><span style="color: #000000">temp);<br />             }<br />         }<br />         </span><span style="color: #0000ff">return</span><span style="color: #000000"> d[n][m];<br />     }<br />     <br />     </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">double</span><span style="color: #000000"> sim(String str1, String str2) {<br />         </span><span style="color: #0000ff">int</span><span style="color: #000000"> ld </span><span style="color: #000000">=</span><span style="color: #000000"> ld(str1, str2);<br />         </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000"> (</span><span style="color: #0000ff">double</span><span style="color: #000000">) ld </span><span style="color: #000000">/</span><span style="color: #000000"> Math.max(str1.length(), str2.length()); <br />     }<br />     <br />     </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args) {<br />         Similarity s </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Similarity();<br />         String str1 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">chenlb.blogjava.net</span><span style="color: #000000">"</span><span style="color: #000000">;<br />         String str2 </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">chenlb.javaeye.com</span><span style="color: #000000">"</span><span style="color: #000000">;<br />         System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">ld=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">s.ld(str1, str2));<br />         System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">sim=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">s.sim(str1, str2));<br />     }<br /> }</span></div> <br /> <p>涓嶇煡sim鏂規硶涓殑鍏紡鏄悎鐞嗭紝涓漢璁や負宸己浜烘剰鎬濓紝^_^</p> <p> </p> <p>鍙傝? <a >http://www.merriampark.com/ld.htm</a></p> <img src ="http://www.aygfsteel.com/chenlb/aggbug/210456.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/chenlb/" target="_blank">嫻佹氮姹?/a> 2008-06-25 10:08 <a href="http://www.aygfsteel.com/chenlb/archive/2008/06/25/210456.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> 主站蜘蛛池模板: <a href="http://" target="_blank">彰化县</a>| <a href="http://" target="_blank">广宁县</a>| <a href="http://" target="_blank">罗甸县</a>| <a href="http://" target="_blank">金山区</a>| <a href="http://" target="_blank">成武县</a>| <a href="http://" target="_blank">天津市</a>| <a href="http://" target="_blank">隆子县</a>| <a href="http://" target="_blank">瑞昌市</a>| <a href="http://" target="_blank">牟定县</a>| <a href="http://" target="_blank">桦川县</a>| <a href="http://" target="_blank">沂水县</a>| <a href="http://" target="_blank">绵阳市</a>| <a href="http://" target="_blank">隆子县</a>| <a href="http://" target="_blank">营口市</a>| <a href="http://" target="_blank">微山县</a>| <a href="http://" target="_blank">蓝山县</a>| <a href="http://" target="_blank">宁乡县</a>| <a href="http://" target="_blank">会同县</a>| <a href="http://" target="_blank">栖霞市</a>| <a href="http://" target="_blank">安阳县</a>| <a href="http://" target="_blank">高密市</a>| <a href="http://" target="_blank">通榆县</a>| <a href="http://" target="_blank">同江市</a>| <a href="http://" target="_blank">承德市</a>| <a href="http://" target="_blank">新乐市</a>| <a href="http://" target="_blank">安龙县</a>| <a href="http://" target="_blank">神农架林区</a>| <a href="http://" target="_blank">南华县</a>| <a href="http://" target="_blank">绥化市</a>| <a href="http://" target="_blank">丘北县</a>| <a href="http://" target="_blank">茌平县</a>| <a href="http://" target="_blank">西和县</a>| <a href="http://" target="_blank">信阳市</a>| <a href="http://" target="_blank">南涧</a>| <a href="http://" target="_blank">松滋市</a>| <a href="http://" target="_blank">广河县</a>| <a href="http://" target="_blank">林口县</a>| <a href="http://" target="_blank">东莞市</a>| <a href="http://" target="_blank">海原县</a>| <a href="http://" target="_blank">新平</a>| <a href="http://" target="_blank">灌云县</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>