JavaʵÏÖÊý×éÐÎʽµÄ¶àÏîʽ¼Ó·¨¡¢¼õ·¨¡¢³Ë·¨¡¢Ïà³ýÔËËã
javaʵÏֵĶàÏîʽ¼Ó·¨£¬¼õ·¨£¬³Ë·¨£¬³ý·¨ÔËË㣬ÆäÖжàÏîʽµÄ±íʾÐÎʽΪ°´Ãݴӵ͵½¸ßµÄϵÊýÊý×飬Êý×éµÄ³¤¶È¼´ÊǶàÏîʽµÄÃÝ
¼´ Êý×é{1,2,3,4} ±íʾ¶àÏîʽ4x3+3x2+2x+1
ÔËËãÔÚ¹¤¾ßÀàPolynÖнøÐÐ ³õʼ»¯Polyn±ØÐëÒª´«Á½¸ö²ÎÊý ¼´±»³ýÊýºÍ³ýÊý
ÆäÖмӷ¨£¬¼õ·¨ºÍ³Ë·¨ÊǾ²Ì¬·½·¨ ²»ÐèʵÀý¼´¿ÉʹÓÃ
³ý·¨ÐèÒª²úÉúÉ̺ÍÓàÊý ËùÒÔ±ØÐëҪʵÀý»¯ºó²Å¿É½øÐÐÔËËã
³ý·¨µÄËã·¨´óÖÂÊÇ£º
1¡¢Óñ»³ýÊýµÄ×î´óÏî³ýÒÔ³ýÊý×î´óÏî,µÃ¶àÏîʽp1
2¡¢ÓÃp1³Ë³ýÊý£¬µÃ¶àÏîʽp2
3¡¢±»³ýÊý¼õp2,µÃp3
4¡¢Èç¹ûp3µÄÃÝСÓÚ³ýÊý£¬ÔòÊä³öÓàÊýΪp3£¬ÉÌΪËùÓÐp1Ö®ºÍ
·ñÔòÒÔp3×÷Ϊеı»³ýÊý£¬×ª1
³õ²½Ð´µÄ³ÌÐòÈçÏ£¬Ã»×ö´íÎó´¦ÀíºÍÈ«·½Î»²âÊÔ£¬ÁôÒÔºóÓÐʱ¼ä½øÐС£
/**
*
* @author knightzhuwei
*
*/
import java.util.Arrays;
class Polyn{
private double[] dividend;
private double[] divisor;
private double[] result;
private double[] remainder;
public Polyn(double[] dividend,double[] divisor){
this.dividend=dividend;
this.divisor=divisor;
}
//¼Ó·¨ ÖðÏîÏà¼Ó ûɶºÃ˵µÄ
public static double[] addPolyn(double[] a,double[] b){
double[] heigher=a.length>b.length?a:b;
double[] lower=a.length>b.length?b:a;
double[] res=new double[heigher.length];
for(int i=0;i<heigher.length;i++){
if(i<lower.length){
res[i]=heigher[i]+lower[i];
}
else{
res[i]=heigher[i];
}
}
return res;
}
//¼õ·¨ ÖðÏîÏë¼õ ÉÔÂ鷳һЩ ×îºóÈç¹û¸ßλÊÇ0»¹Òª´¦Àí
public static double[] subPolyn(double[] a,double[] b){
double[] heigher=a.length>=b.length?a:b;
double[] lower=a.length>=b.length?b:a;
double[] res=new double[heigher.length];
if(heigher==a){
for(int i=0;i<heigher.length;i++){
if(i<lower.length){
res[i]=heigher[i]-lower[i];
}
else{
res[i]=heigher[i];
}
}
}else{
for(int i=0;i<heigher.length;i++){
if(i<lower.length){
res[i]=lower[i]-heigher[i];
}
else{
res[i]=-heigher[i];
}
}
}
int k=res.length-1;
for(;res[k]==0.0&&k>0;k--);
Ïà¹ØÎĵµ£º
ÔÚjavaÈç¹ûÒ»¸ö³ÉÔ±±»ÉùÃ÷Ϊstatic£¬Ëü¾ÍÄܹ»ÔÚËüµÄÀàµÄÈκζÔÏó´´½¨Ö®Ç°±»·ÃÎÊ£¬¶ø²»±ØÒýÓÃÈκζÔÏó¡£Äã¿ÉÒÔ½«·½·¨ºÍ±äÁ¿¶¼ÉùÃ÷Ϊstatic¡£static ³ÉÔ±µÄ×î³£¼ûµÄÀý×ÓÊÇmain( ) ¡£ÒòΪÔÚ³ÌÐò¿ªÊ¼Ö´ÐÐʱ±ØÐëµ÷ÓÃmain() £¬ËùÒÔËü±»ÉùÃ÷Ϊstatic¡£
ÓÐʱÄãÏ£Íû¶¨ÒåÒ»¸öÀà³ÉÔ±£¬Ê¹ËüµÄʹÓÃÍêÈ«¶ÀÁ¢ÓÚ¸ÃÀàµÄÈκζÔÏó¡£Í¨³ ......
/**
* ¶ÑÅÅÐò
*
* */
public void heapSort(double[] a){
double temp;
initCreateHeap(a);
for(int i = a.length - 1; i > 0; i --){
temp = a[0];
a[0] = a[i];
a[i] = temp;
createHeap(a, i, 0);
}
}
/**
* ½«Êý×é¿´³ÉÍêÈ«¶þ²æÊ÷£¬½¨Á¢×î´ó¶Ñ
* */
private ......
´Ó±¾ÏµÁÐÇ°ÃæµÄÎÄÕÂÖУ¬ÄúÁ˽⵽·´ÉäµÄÐÔÄܱÈÖ±½Ó·ÃÎÊÒªÂýÐí¶à±¶£¬²¢Á˽âÁËÓà Javassist ºÍ Apache
Byte Code Engineering Library £¨BCEL£©½øÐÐclassworking¡£Java ¹ËÎÊ Dennis
Sosnoski ͨ¹ýÑÝʾÈçºÎʹÓÃÔËÐÐʱ classworking£¬À´ÓÃÈ«ËÙǰ½øµÄÉú³É´úÂëÈ¡´ú·´Éä´úÂ룬´Ó¶ø½áÊøËûµÄ Java ±à³ÌµÄ¶¯Ì¬ÐÔ
ϵÁС£
¼ÈÈ»ÄúÒѾ ......
ÔÚ¾¹ýÒ»¶Îʱ¼äµÄÐÝÏ¢Ö®ºó£¬Dennis Sosnoski ÓÖ»ØÀ´ÍƳöÁËËûµÄ
Java ±à³ÌµÄ¶¯Ì¬ÐÔ
ϵ
ÁÐµÄµÚ 5 ²¿·Ö¡£ÄúÒÑÔÚÇ°ÃæµÄÎÄÕÂÖп´µ½ÁËÈçºÎ±àдÓÃÓÚת»» Java ÀàÎļþÒԸıä´úÂëÐÐΪµÄ³ÌÐò¡£ÔÚ±¾ÆÚÖУ¬Dennis½«Õ¹Ê¾ÈçºÎʹÓÃ
Javassist
¿ò¼Ü£¬°Ñת»»Óëʵ¼ÊµÄÀà¼ÓÔØ¹ý³Ì½áºÏÆðÀ´£¬ÓÃÒÔ½øÐÐÁé»îµÄ“¼´Ê±”ÃæÏò·½Ã ......
·´ÉäʹÄúµÄ³ÌÐò´úÂëÄܹ»½ÓÈë×°ÔØµ½JVMÖеÄÀàµÄÄÚ²¿ÐÅÏ¢£¬ÔÊÐíÄú±àдÓëÖ´ÐÐʱ£¬¶ø²»ÊÇÔ´´úÂëÖÐÑ¡¶¨µÄÀàÐ×÷µÄ´úÂë¡£Õâʹ·´Éä³É
Ϊ¹¹½¨Áé»îµÄÓ¦ÓõÄÖ÷Òª¹¤¾ß¡£µ«Ðè×¢ÒâµÄÊÇ --Èç¹ûʹÓò»µ±£¬·´ÉäµÄ³É±¾ºÜ¸ß¡£ÔÚJavaƽ̨ϵÁеĵÚ2²¿·ÖÖУ¬Èí¼þ¹ËÎÊDennis
Sosnoski½éÉÜÁËÈçºÎʹÓ÷´É䣬ÒÔ¼°Ä³Ð©Ïà¹ØµÄ³É±¾¡£Äú»¹½«ÕÒµ½JavaRef ......