ÕâƪÎÄÕÂÖ÷Òª½éÉÜÁËJavaScriptÊý¾Ý½á¹¹Ö®¶þ²æ²éÕÒÊ÷µÄ¶¨ÒåÓë±íʾ·½·¨,¼òµ¥½²ÊöÁ˶þ²æ²éÕÒÊ÷µÄ¸ÅÄî¡¢Ìص㼰javascriptÕë¶Ô¶þ²æ²éÕÒÊ÷µÄ´´½¨¡¢²åÈë¡¢±éÀúµÈ²Ù×÷Ïà¹ØʵÏÖ¼¼ÇÉ,ÐèÒªµÄÅóÓÑ¿ÉÒԲο¼ÏÂ
±¾ÎÄʵÀý½²ÊöÁËJavaScriptÊý¾Ý½á¹¹Ö®¶þ²æ²éÕÒÊ÷µÄ¶¨ÒåÓë±íʾ·½·¨¡£·ÖÏí¸ø´ó¼Ò¹©´ó¼Ò²Î¿¼£¬¾ßÌåÈçÏ£º
Ê÷ÊÇÒ»ÖÖ·ÇÏßÐÔµÄÊý¾Ý½á¹¹£¬ÒÔ·Ö²ãµÄ·½Ê½´æ´¢Êý¾Ý¡£Ê÷±»ÓÃÀ´´æ´¢¾ßÓв㼶¹ØϵµÄÊý¾Ý£¬±ÈÈçÎļþϵͳÖеÄÎļþ£»Ê÷»¹±»ÓÃÀ´´æ´¢ÓÐÐòÁÐ±í¡£ÕâÀォÑо¿Ò»ÖÖÌØÊâµÄÊ÷£º¶þ²æÊ÷¡£Ñ¡ÔñÊ÷¶ø²»ÊÇÄÇЩ»ù±¾µÄÊý¾Ý½á¹¹£¬ÊÇÒòΪÔÚ¶þ²æÊ÷ÉϽøÐвéÕҷdz£¿ì£¨¶øÔÚÁ´±íÉϲéÕÒÔò²»ÊÇÕâÑù£©£¬Îª¶þ²æÊ÷Ìí¼Ó»òɾ³ýÔªËØÒ²·Ç³£¿ì£¨¶ø¶ÔÊý×éÖ´ÐÐÌí¼Ó»òɾ³ý²Ù×÷Ôò²»ÊÇÕâÑù£©¡£
Ê÷ÊÇn¸ö½áµãµÄÓÐÏÞ¼¯¡£×îÉÏÃæµÄΪ¸ù£¬ÏÂÃæΪ¸ùµÄ×ÓÊ÷¡£Ê÷µÄ½Úµã°üº¬Ò»¸öÊý¾ÝÔªËؼ°Èô¸ÉÖ¸ÏòÆä×ÓÊ÷µÄ·ÖÖ§¡£½áµãÓµÓеÄ×ÓÊ÷³ÆΪ½áµãµÄ¶È¡£¶ÈΪ0µÄ½áµã³ÆΪҶ×Ó»òÖն˽áµã¡£¶È²»Îª0µÄ½áµã³ÆΪ·ÇÖն˽áµã»ò·ÖÖ§½áµã¡£Ê÷µÄ¶ÈÊÇÊ÷ÄÚ¸÷½áµãµÄ¶ÈµÄ×î´óÖµ¡£½áµãµÄ²ã´Î´Ó¸ù¿ªÊ¼¶¨Ò壬¸ùΪµÚ0²ã¡£Ê÷ÖнáµãµÄ×î´ó²ã´Î³ÆΪÊ÷µÄÉî¶È»ò¸ß¶È¡£
¶þ²æÊ÷ÊÇÒ»ÖÖÌØÊâµÄÊ÷£¬ËüµÄ×Ó½Úµã¸öÊý²»³¬¹ýÁ½¸ö¡£¶þ²æÊ÷¾ßÓÐһЩÌØÊâµÄ¼ÆËãÐÔÖÊ£¬Ê¹µÃÔÚËüÃÇÖ®ÉϵÄһЩ²Ù×÷Òì³£¸ßЧ¡£Í¨¹ý½«×Ó½ÚµãµÄ¸öÊýÏÞ¶¨Îª 2£¬¿ÉÒÔд³ö¸ßЧµÄ³ÌÐòÔÚÊ÷ÖвåÈë¡¢²éÕÒºÍɾ³ýÊý¾Ý¡£
ÔÚʹÓà JavaScript ¹¹½¨¶þ²æÊ÷֮ǰ£¬ÐèÒª¸øÎÒÃǹØÓÚÊ÷µÄ´ÊµäÀïÔÙ¼ÓÁ½¸öÐÂÃû´Ê¡£Ò»¸ö¸¸½ÚµãµÄÁ½¸ö×Ó½Úµã·Ö±ð³ÆΪ×ó½ÚµãºÍÓҽڵ㡣ÔÚһЩ¶þ²æÊ÷µÄʵÏÖÖУ¬×ó½Úµã°üº¬Ò»×éÌض¨µÄÖµ£¬ÓÒ½Úµã°üº¬ÁíÒ»×éÌض¨µÄÖµ¡£¶þ²æ²éÕÒÊ÷ÊÇÒ»ÖÖÌØÊâµÄ¶þ²æÊ÷£¬Ïà¶Ô½ÏСµÄÖµ±£´æÔÚ×ó½ÚµãÖУ¬½Ï´óµÄÖµ±£´æÔÚÓÒ½ÚµãÖС£ÕâÒ»ÌØÐÔʹµÃ²éÕÒµÄЧÂʺܸߣ¬¶ÔÓÚÊýÖµÐͺͷÇÊýÖµÐ͵ÄÊý¾Ý£¬±ÈÈçµ¥´ÊºÍ×Ö·û´®£¬¶¼ÊÇÈç´Ë¡£
¶þ²æ²éÕÒÊ÷Óɽڵã×é³É£¬ËùÒÔÎÒÃÇÒª¶¨ÒåÒ»¸öNode¶ÔÏ󣬴úÂëÈçÏ£º
function Node(data,left,right){//½áµãÀà
this.data=data;
this.left=left;
this.right=right;
this.show=show;
}
function show(){//ÏÔʾ½ÚµãÖÐÊý¾Ý
return this.data;
}
ÆäÖÐleftºÍright·Ö±ðÓÃÀ´Ö¸Ïò×óÓÒ×Ó½áµã¡£
½ÓÏÂÀ´ÐèÒª´´½¨¶þ²æ²éÕÒÊ÷µÄÀ࣬´úÂëÈçÏ£º
function BST(){//Ê÷Àà
this.root=null;
this.insert=insert;
this.inOrder=inOrder;
this.preOrder=preOrder;
this.postOrder=postOrder;
}
½ÓÏÂÀ´ÊDzåÈë½ÚµãµÄ´úÂë¡£±éÀúСµÄ²å×ó±ß£¬´óµÄ²åÓұߡ£´úÂëÈçÏ£º
function insert(data){//²åÈë²Ù×÷
var n=new Node(data,null,null);
if(this.root==null){//µÚÒ»¸öÔªËØ
this.root=n;
}else{
var current=this.root;//ÓÀÔ¶Ö¸Ïò¸ù½Úµã
var parent;
while(true){//Ò»Ö±ÔËÐÐÖ±µ½ÕÒµ½×ó½áµã»òÓÒ½áµãΪֹ
parent=current;
if(data<current.data){
current=current.left;
if(current==null){//Èç¹ûûÓÐ×ó½Úµã
parent.left=n;
break;
}
}else{
current=current.right;
if(current==null){//Èç¹ûûÓÐÓÒ½Úµã
parent.right=n;
break;
}//Èç¹ûÓÐÓҽڵ㣬ÔòÌøµ½whileÖØÐÂÖ´ÐУ¬½«¸Ã½Úµã×÷ΪparentÖØпªÊ¼ÅжÏ
}
}
}
}
¸ü¶à¹ØÓÚJavaScriptÏà¹ØÄÚÈݸÐÐËȤµÄ¶ÁÕ߿ɲ鿴±¾Õ¾×¨Ì⣺¡¶JavaScriptÊý¾Ý½á¹¹ÓëËã·¨¼¼ÇÉ×ܽᡷ¡¢¡¶JavaScriptÊýѧÔËËãÓ÷¨×ܽᡷ¡¢¡¶JavaScriptÅÅÐòËã·¨×ܽᡷ¡¢¡¶JavaScript±éÀúËã·¨Óë¼¼ÇÉ×ܽᡷ¡¢¡¶JavaScript²éÕÒËã·¨¼¼ÇÉ×ܽᡷ¼°¡¶JavaScript´íÎóÓëµ÷ÊÔ¼¼ÇÉ×ܽᡷ
Ï£Íû±¾ÎÄËùÊö¶Ô´ó¼ÒJavaScript³ÌÐòÉè¼ÆÓÐËù°ïÖú¡£ |