Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

KMPËã·¨µÄJavaʵÏÖÀý×ÓÒÔ¼°²âÊÔ·ÖÎö


±³¾°¼ò½é£ºKMPËã·¨ÓÃÀ´´¦Àí×Ö·û´®Æ¥ÅäµÄ¡£¸øÄãA,BÁ½¸ö×Ö·û´®£¬¼ì²éB´®ÊÇ·ñÊÇA´®µÄ×Ó´®£¬ÀàËÆÓÚJavaµÄString.indexOf("")¡£Ö®ËùÒÔ½Ð×öKMP£¬ÊÇÒòΪÕâ¸öËã·¨ÊÇÓÉKnuth¡¢Morris¡¢PrattÈý¸öÌá³öÀ´µÄ£¬È¡ÁËÕâÈý¸öÈ˵ÄÃû×ÖµÄÍ·Ò»¸ö×Öĸ¡£
Ô­Àí½éÉÜ£ºÕÒµ½Æ¥Åäʧ°ÜʱµÄ×îºÏÊʵĻØÍËλÖ㬶ø²»ÊǼòµ¥µÄ»ØÍ˵½×Ó´®µÄµÚÒ»¸ö×Ö·û£¨³£¹æµÄö¾Ù²éÕÒ·½Ê½£¬ÊǼòµ¥µÄ»ØÍ˵½×Ó´®µÄµÚÒ»¸ö×Ö·û£¬½ÓÏÂÀ´×¼±¸Ð´Ò»ÆªKMPËã·¨µÄÐÔÄÜ·ÖÎöJavaʵÏÖʵÀý£©£¬¼´¿ÉÌá¸ß²éÕÒµÄЧÂÊ¡£Òò´ËΪÁËÕÒµ½Õâ¸öºÏÊʵÄλÖã¬ÏȶÔ×Ó´®Ô¤´¦Àí£¬´Ó¶øµÃµ½Ò»¸ö»ØÍËλÖõÄÊý×é¡£¹ý¶àµÄÀíÂ۾Ͳ»½éÉÜÁË¡£
×ÜÌå¶øÑԱȽϼòµ¥£¬KMPËãÒ»¸ö¾­µäµÄËã·¨Àý×Ó£¬ºÜ¶à±ÊÊÔ¡¢ÃæÊÔÒ²»áÎÊÆð¡£ÏÖ×ܽáһϣ¬·ÅÔÚÕâÀ﹩´ó¼Ò²Î¿¼¡¢½»Á÷£¬Ï£Íû¶Ô´ó¼ÒÓÐËù°ïÖú£¬ÏÂÃæÖ±½Ó¸ø³öʵÏÖÀý×Ó£¬²âÊÔÓë·ÖÎöÒ²°üº¬ÆäÖС£
Ò»¡¢Ò»¸öÎļþÔ´´úÂë
KMP.java
Ô´´úÂëΪ£º
package algorithm.kmp;
/**
 * KMPËã·¨µÄJavaʵÏÖÀý×ÓÓë²âÊÔ¡¢·ÖÎö
 * @author ´ÞÎÀ±ø
 * @date 2009-3-25
 */
public class KMP {
 /**
  * ¶Ô×Ó´®¼ÓÒÔÔ¤´¦Àí£¬´Ó¶øÕÒµ½Æ¥Åäʧ°Üʱ×Ó´®»ØÍ˵ÄλÖÃ
  * ÕÒµ½Æ¥Åäʧ°ÜʱµÄ×îºÏÊʵĻØÍËλÖ㬶ø²»ÊÇ»ØÍ˵½×Ó´®µÄµÚÒ»¸ö×Ö·û£¬¼´¿ÉÌá¸ß²éÕÒµÄЧÂÊ
  * Òò´ËΪÁËÕÒµ½Õâ¸öºÏÊʵÄλÖã¬ÏȶÔ×Ó´®Ô¤´¦Àí£¬´Ó¶øµÃµ½Ò»¸ö»ØÍËλÖõÄÊý×é
  * @param B£¬´ý²éÕÒ×Ó´®µÄcharÊý×é
  * @return
  */
 public static int[] preProcess(char [] B) {
  int size = B.length;
  int[] P = new int[size];
  P[0]=0;
  int j=0;
  //ÿѭ»·Ò»´Î£¬¾Í»áÕÒµ½Ò»¸ö»ØÍËλÖÃ
  for(int i=1;i<size;i++){
   //µ±ÕÒµ½µÚÒ»¸öÆ¥ÅäµÄ×Ö·ûʱ£¬¼´j>0ʱ²Å»áÖ´ÐÐÕâ¸öÑ­»·
   //»òÕß˵p2ÖеÄj++»áÔÚp1֮ǰִÐУ¨ÏÞÓÚµÚÒ»´ÎÖ´ÐеÄÌõ¼þÏ£©
   //p1
   while(j>0 && B[j]!=B[i]){
    j=P[j];
   }
   //p2£¬ÓÉ´Ë¿ÉÒÔ¿´³ö£¬Ö»Óе±×Ó´®Öк¬ÓÐÖØ¸´×Ö·ûʱ£¬»ØÍ˵ÄλÖòŻᱻÓÅ»¯
   if(B[j]==B[i]){
    j++;
   }
   //ÕÒµ½Ò»¸ö»ØÍËλÖÃj£¬°ÑÆä·ÅÈëP[i]ÖÐ
   P[i]=j;
  }
  return P;
&n


Ïà¹ØÎĵµ£º

javaÔËÐл·¾³ Àà×°ÔØÆ÷ClassLoader

  ½ñÌì¹Û¿´ÁËÀ¶É½ÀÏʦjava±³ºóµÄÃØÃÜÏà¹ØÊÓÆµ£¬·¢ÏÖÒªÏëд³ö¸ßÐÔÄܵijÌÐò£¬Ò»¶¨Òª¶ÔÆäÔËÐÐÔ­ÀíÒÔ¼°ÆäÔËÐл·¾³ÓÐÏ൱³Ì¶ÈµÄÁ˽⡣ÄÇClassLoaderÊÇÏ൱¹Ø¼üµÄÒ»¸ö²¿·Ö¡£
  ÏÈ˵ÏÂjava³ÌÐòÔËÐеĻù±¾Á÷³Ì£¬ÏȽ«javaÎļþ±àÒëΪclassÎļþ£¬È»ºóͨ¹ýClassLoader£¨Àà¼ÓÔØÆ÷£©£¬¼ÓÔØµ½Runtime Data Area£¨ÀàËÆÓÚÄڴ棩ÖÐ ......

JavaÖеÄÀàÐÍת»»


±¾×÷Æ·²ÉÓÃ֪ʶ¹²ÏíÊðÃû-·ÇÉÌÒµÐÔʹÓÃ-Ïàͬ·½Ê½¹²Ïí 2.5 Öйú´ó½Ðí¿ÉЭÒé½øÐÐÐí¿É¡£
ÎÞÂÛÔÚC/C++»¹ÊÇÔÚJava£¬Ç¿ÖÆÀàÐÍת»»ÒѾ­²»ÊÇİÉúµÄ¸ÅÄîÁË¡£µ«ÊÇÒªÏëÈ«ÃæÕÆÎÕJavaÖÐÀàÐÍת»»µÄÒªµã¿É²»ÄÇô¼òµ¥£¬±¾ÎĽ«´øÁì´ó¼ÒһͬÁ˽âÓйØJavaÀàÐÍת»»µÄËùÓÐÒªµã¡£
ÊýÖµÀàÐ͵ÄÀàÐÍת»»
ÖÚËùÖÜÖª£¬JavaÓÐÁ½ÖÖÊý¾ÝÀàÐÍ£º»ù±¾Êý¾Ý ......

Javaʵѵ

 ÎÒÃÇÿ¸öѧÆÚÄ©¶¼»á½øÐн«½üÒ»¸öÔµÄʵѵ£¬Õâ´ÎJavaʵѵҲ¼´½«½áÊø£¬ÎÒÑ¡µÄ¿ÎÌâÊÇ“¸öÈËÍøÉÏÒøÐÐϵͳ”£¬ÔËÓÃÁËStruts£¬HibernateºÍSpring¿ò¼Ü£¬Í¨¹ýmvcÉè¼ÆÄ£Ê½¡£»ù±¾ËùÓеŦÄܶ¼ÊµÏÖÁË£¬ÔÚʵѵÖÐÕæµÄѧµ½Á˺ܶà֪ʶ£¬Ö®¼äÒ²Óöµ½Á˺ܶàÎÊÌ⣬µ«¶¼Ò»Ò»µÃµ½½â¾ö¡£ÎÒ½øÒ»²½Á˽âÁËStrutsµÄÔËÐÐÔ­Àí£¬ÂíÉÏÃæÁÙ ......

Java±à³ÌÄÇЩʶù102——ÍøÂç±à³Ì¼¼Êõ1

13.2.1 ÍøÂç±à³Ì²½Öè
         °´ÕÕÇ°ÃæµÄ»ù´¡ÖªÊ¶½éÉÜ£¬ÎÞÂÛʹÓÃTCP·½Ê½»¹ÊÇUDP·½Ê½½øÐÐÍøÂçͨѶ£¬ÍøÂç±à³Ì¶¼ÊÇÓɿͻ§¶ËºÍ·þÎñÆ÷¶Ë×é³É¡£µ±È»£¬B/S½á¹¹µÄ±à³ÌÖÐÖ»ÐèҪʵÏÖ·þÎñÆ÷¶Ë¼´¿É¡£ËùÒÔ£¬ÏÂÃæ½éÉÜÍøÂç±à³ÌµÄ²½Öèʱ£¬¾ùÒÔC/S½á¹¹Îª»ù´¡½øÐнéÉÜ¡£
     ......

Java³ÌÐòÔ±ÃæÊÔ±ØÎʵÄÌâÄ¿£¬Äã»á¼¸µÀ£¿

       µÚÒ»£¬Ì¸Ì¸final, finally, finalizeµÄÇø±ð¡£ 
¡¡¡¡µÚ¶þ£¬Anonymous Inner Class (ÄäÃûÄÚ²¿Àà) ÊÇ·ñ¿ÉÒÔextends(¼Ì³Ð)ÆäËüÀ࣬ÊÇ·ñ¿ÉÒÔimplements(ʵÏÖ)interface(½Ó¿Ú)? 
¡¡¡¡µÚÈý£¬Static Nested Class ºÍ Inner ClassµÄ²»Í¬£¬ËµµÃÔ½¶àÔ½ºÃ(ÃæÊÔÌâÓеĺÜÁýͳ)¡£ 
¡¡¡¡µÚËÄ£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ