ÔÆÌ⺣ - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

µ±Ç°Î»ÖãºÊ×Ò³ > Êý¾Ý½á¹¹ µÚ°ËÕ ²éÕÒ±í

Êý¾Ý½á¹¹ µÚ°ËÕ ²éÕÒ±í

  • 62 ´ÎÔĶÁ
  • 3 ´ÎÏÂÔØ
  • 2025/6/17 17:40:07

//ÔÚÉ¢ÁбíHSÖУ¬É¾³ý¹Ø¼ü×ÖK£¬KµÄÉ¢ÁеØÖ·ÊÇi£¬Òò½â¾ö³åÍ»¶ø½«ÆäÎïÀíµØÖÃÓÚ±íÖÐj¡£Ëã·¨²éÕҹؼü×ÖKµÄͬÒå´Ê£¬½«Æä×îºóÒ»¸öͬÒå´ÊÒÆµ½Î»ÖÃj£¬²¢½«ÆäͬÒå´ÊµÄλÖÃÖÿա£

{di=1£»last=j£»x=(j+di)% m£»// ̽²âµØÖ·ÐòÁУ¬last¼ÇKµÄ×îºóÒ»¸öͬÒå´ÊµÄλÖà while£¨x!=i£© //¿ÉÄÜҪ̽²âһȦ

{if£¨HS[x]==null£©break£» // ̽²âµ½¿ÕλÖ㬽áÊøÌ½²â else if£¨HS[x]%P==i£©last=x£»// ¹Ø¼ü×ÖKµÄͬÒå´Ê di=di+1£»x=(j+di) % m£» // È¡ÏÂÒ»µØÖ·Ì½²â }

HS[j]=HS[last]; HS[last]=null; //½«¹þÏ£µØÖ·lastµÄ¹Ø¼ü×ÖÒÆµ½¹þÏ£µØÖ·j

}

[Ëã·¨ÌÖÂÛ] ÓÉÓÚÓÃÏßÐÔ̽²â½â¾ö³åÍ»£¬¿ÉÄÜ·¢Éú¡°¶þ´Î¾Û¼¯¡±£¨Á½¸öµÚÒ»¹þÏ£µØÖ·²»Í¬µÄ¼Ç¼Õù¶áͬһºó¼Ì¹þÏ£µØÖ·£©¡£ÏóÉÏÃæÕâÑù´¦Àíºó£¬¶ÔÓÚ¹þÏ£µØÖ·ÎªiµÄ¼Ç¼ûÓÐÎÊÌâÁË£¬µ«ÓÉÓÚ½«µØÖ·jÖÿգ¬ÓпÉÄܽضÏÁËÆäËü¼Ç¼µÄ̽²âͨ·¡£×îÃ÷ÏÔµÄÊǹþÏ£µØÖ·ÎªjµÄ¼Ç¼¾Í²é²»µ½ÁË¡£½â¾öµÄ°ì·¨ÊǼÌÐøµ÷Õû£¬Ö±µ½µ±Ç°¹þÏ£±íÖеÄÿ¸ö¼Ç¼µÄ²éÕÒ¶¼ÊÇÕýÈ·µÄΪֹ¡£

14£®[ÌâÄ¿·ÖÎö]ÀûÓöþ²æÅÅÐòÊ÷µÄÐÔÖÊ£¬´Ó¸ù½áµã¿ªÊ¼²éÕÒ£¬Èô¸ù½áµãµÄֵСÓÚµÈÓÚx£¬Ôò¸ù½áµã¼°Æä×ó×ÓÊ÷¾ùӦɾ³ý£¬È»ºóÒÔÓÒ×ÓÊ÷µÄ¸ù½áµãΪÊ÷¸ù£¬ÖØÐ¿ªÊ¼²éÕÒ¡£Èô¸ù½áµãµÄÖµ´óÓÚx£¬Ôò˳×ó×ÓÊ÷ÏòϲéÕÒ£¬Ö±µ½Ä³½áµãµÄֵСÓÚµÈÓÚx£¬Ôò¸Ã½áµã¼°Æä×ó×ÓÊ÷¾ùӦɾ³ý¡£ÏÂÃæÉè¼ÆÒ»²éÕÒËã·¨£¬È·¶¨±»É¾³ý×ÓÊ÷µÄ¸ù½áµã£¬ÔÙÉè¼ÆÒ»É¾³ýËã·¨£¬É¾³ýÒÔ±»É¾½áµãΪ¸ùµÄ×ÓÊ÷¡£

typedef struct node

{int data£» struct node *left£¬*right; }BiTNode£¬*BSTree£» void DelTree(BSTree r£© //·ÇµÝ¹éɾ³ýÒÔrΪ¸ùµÄ¶þ²æÅÅÐòÊ÷

{BSTree S[]£»// Õ»£¬ÈÝÁ¿×ã¹»´ó£¬Õ»ÖÐÔªËØÊǶþ²æÅÅÐòÊ÷½áµãµÄÖ¸Õë top=0£»

while £¨r!=null || top>0£© {while£¨r!=null£© // ÑØ×ó·ÖÖ¦ÏòÏÂ

{S[++top]=r£»r=r->left £»}

if£¨top>0£© // ÍËÕ»£¬ÑØÕ»¶¥½áµãµÄÓÒ×ÓÊ÷ÏòÏÂɾ³ý£¬Êͷű»É¾³ý½áµã¿Õ¼ä {p=S[top--]£»r=p->right£»free£¨p£©£»} }

}// DelTree

void DeleteAllx(BSTree £Ô£¬int x£©

//ÔÚ¶þ²æÅÅÐòÊ÷£ÔÖУ¬É¾³ýËùÓÐСÓÚµÈÓÚxµÄ½áµã {BSTree p=T£¬q£»

while£¨T && T->data¡Üx£© //¸ù½áµãµÄֵСÓÚµÈÓÚx {p=T£»T=T->right£»p->right=null£»

DelTree£¨p£©£»} //ɾ³ý¶þ²æÊ÷p,ɾ³ý³ÖÐøµ½¡°¸ù¡±½áµãÖµ´óÓÚx»òTΪ¿ÕÊ÷Ϊֹ if (T)

{q=T£»p=T->left£»

while£¨p && p->data>x£© //ÑØ¸ù½áµã×ó·ÖÖ¦ÏòÏ£¬²éСÓÚµÈÓÚxµÄ½áµã {while£¨p && p->data>x£© { q=p£»p=p->left£»} // q¼ÇpµÄË«Ç× if£¨p£© //p½áµãµÄֵСÓÚµÈÓÚx

{q->left=p->right£»p->right=null£»DelTree£¨p£©£» } p=q->left£»// ÔÙ²éÔ­pµÄÓÒ×ÓÊ÷ÖÐСÓÚµÈÓÚxµÄ½áµã }} }// DeleteAllx 15£®typedef struct node {datatype data£» int count£»

struct node * llink£¬*rlink£» }BiTNode£¬*BSTree£»

void Search_InsertX(BSTree t£¬datatype X£©

//ÔÚ¶þ²æÅÅÐòÊ÷tÖвéÕÒֵΪXµÄ½áµã£¬Èô²éµ½£¬ÔòÆä½áµãµÄcountÓòÖµÔö1£¬·ñÔò£¬

//½«Æä²åÈëµ½¶þ²æÅÅÐòÊ÷ÖС£

{p=t£»

while£¨p!=null && p->data!=X£© //²éÕÒֵΪXµÄ½áµã£¬fÖ¸Ïòµ±Ç°½áµãµÄË«Ç×

{f=p£»

if£¨p->datarlink; else p=p->llink;} if£¨!p£© // ÎÞֵΪxµÄ½áµã£¬²åÈëÖ®

{p=£¨BiTNode *£©malloc(sizeof £¨BiTNode£©£©£» p->data=X£»p->llink=null£»p->rlink=null£»

if£¨f->data>X£©f->llink=p£»else f->rlink=p£» }

else p->count++£»// ²éѯ³É¹¦£¬ÖµÓòΪXµÄ½áµãµÄcountÔö1¡£ }// Search_InsertX

16£®[ÌâÄ¿·ÖÎö] ÒòΪ¶þ²æÊ÷¸÷½áµãÒѱêÃ÷ÁËÆ½ºâÒò×Ób£¬¹Ê´Ó¸ù½áµã¿ªÊ¼¼ÇÊ÷µÄ²ã´Î¡£¸ù½áµãµÄ²ã´ÎΪ1£¬Ã¿ÏÂÒ»²ã£¬²ã´Î¼Ó1£¬Ö±µ½²ãÊý×î´óµÄÒ¶×Ó½áµã£¬Õâ¾ÍÊÇÆ½ºâ¶þ²æÊ÷µÄ¸ß¶È¡£µ±½áµãµÄƽºâÒò×ÓbΪ0ʱ£¬ÈÎÑ¡×óÓÒÒ»·ÖÖ¦ÏòϲéÕÒ£¬Èôb²»Îª0£¬ÔòÑØ×󣨵±b=1ʱ£©»òÓÒ£¨µ±b=-1ʱ£©ÏòϲéÕÒ¡£ int Height£¨BSTree t£© // ÇóÆ½ºâ¶þ²æÊ÷tµÄ¸ß¶È {level=0£»p=t£» while£¨p£©

{level++£» // Ê÷µÄ¸ß¶ÈÔö1

if£¨p->bf<0£©p=p->rchild£»//bf=-1 ÑØÓÒ·ÖÖ¦ÏòÏÂ

//bfÊÇÆ½ºâÒò×Ó£¬ÊǶþ²æÊ÷t½áµãµÄÒ»¸öÓò£¬Òòƪ·ùËùÏÞ£¬Ã»ÓÐд³öÆä´æ

´¢¶¨Òå

else p=p->lchild£» //bf>=0 ÑØ×ó·ÖÖ¦ÏòÏÂ

}//while

return £¨level£©£»//ƽºâ¶þ²æÊ÷µÄ¸ß¶È

} //Ëã·¨½áÊø

17£®[ÌâÄ¿·ÖÎö]¶þ²æÅÅÐòÊ÷µÄ½¨Á¢ÎÊÌâÇë²Î¼ûÉÏÃæÌâ3£¨1£©¡£½«¶þ²æÅÅÐòÊ÷Éϵĸ÷ÕûÊý°´½µÐòдÈë´ÅÅ̵ÄÎÊÌ⣬Ҫ¶Ô¶þ²æÅÅÐòÊ÷½øÐС°ÖÐÐò±éÀú¡±¡£ÕâÀïµÄ¡°ÖÐÐò±éÀú¡±Òª²ÉÈ¡¡°ÓÒ¸ù×󡱡£Îª·½±ãÆð¼û£¬ÏȽ«ÕûÊýдÈëһȫ¾Ö±äÁ¿Êý×éÖУ¬ÔÙдÈë´ÅÅÌÎļþÖС£

int i=0,a[n];//³¤¶ÈΪnµÄÕûÐÍÊý×é void InOrder(BSTree t)

//ÏÈÓÒºó×óµÄÖÐÐò±éÀú¶þ²æÅÅÐòÊ÷t£¬¼Ù¶¨¸ÃÊ÷tÒÑÔÚ±¾Ì⣨1£©ÖÐÉú³É {if (t)

{ InOrder(t->rchild) a[i++]=t->key; InOrder(t->lchild) } }//InOrder void SaveToDisk()

//½«¶þ²æÅÅÐòÊ÷Éϵĸ÷ÕûÊý°´½µÐòдÈë´ÅÅÌ {FILE *fp;

if ((fp=fopen(¡°file1.dat¡±, ¡°wb¡±))==null) {printf(¡°file can not open!\\n¡±);exit(0); }

fwrite(a,sizeof (int),n,fp);//½«Êý×éaÖеÄn¸öÕûÊýдÈë´ÅÅÌ fclose(fp);//¹Ø±ÕÎļþ }//SaveToDisk 18£®£¨1£©µÝ¹éËã·¨

void DecPrint(BSTree t£©

//µÝ¼õÐòÊä³ö¶þ²æÅÅÐòÊ÷tÖÐËùÓÐ×ó×ÓÊ÷Ϊ¿ÕÓÒ×ÓÊ÷·Ç¿ÕµÄ½áµãÊý¾ÝÓòµÄÖµ¡£ {if£¨t£©

{DecPrint(t->rchild)£»

if£¨!t->lchild && t->rchild£©printf(t->data£º4£© DecPrint(t->lchild£©£» } }//DecPrint £¨2£©·ÇµÝ¹éËã·¨

void DecPrint(BSTree t£©

// µÝ¼õÐòÊä³ö¶þ²æÅÅÐòÊ÷tÖÐËùÓÐ×ó×ÓŮΪ¿ÕÓÒ×ÓÅ®·Ç¿ÕµÄ½áµãµÄÖµ {BSTree S[]£»//SÊǶþ²æÅÅÐòÊ÷½áµãÖ¸ÕëµÄÕ»£¬ÈÝÁ¿×ã¹»´ó int top=0£» while£¨t || top>0£©

ËÑË÷¸ü¶à¹ØÓÚ£º Êý¾Ý½á¹¹ µÚ°ËÕ ²éÕÒ±í µÄÎĵµ
  • ÊÕ²Ø
  • Î¥¹æ¾Ù±¨
  • °æÈ¨ÈÏÁì
ÏÂÔØÎĵµ10.00 Ôª ¼ÓÈëVIPÃâ·ÑÏÂÔØ
ÍÆ¼öÏÂÔØ
±¾ÎÄ×÷Õߣº...

¹²·ÖÏí92ƪÏà¹ØÎĵµ

Îĵµ¼ò½é£º

//ÔÚÉ¢ÁбíHSÖУ¬É¾³ý¹Ø¼ü×ÖK£¬KµÄÉ¢ÁеØÖ·ÊÇi£¬Òò½â¾ö³åÍ»¶ø½«ÆäÎïÀíµØÖÃÓÚ±íÖÐj¡£Ëã·¨²éÕҹؼü×ÖKµÄͬÒå´Ê£¬½«Æä×îºóÒ»¸öͬÒå´ÊÒÆµ½Î»ÖÃj£¬²¢½«ÆäͬÒå´ÊµÄλÖÃÖÿա£ {di=1£»last=j£»x=(j+di)% m£»// ̽²âµØÖ·ÐòÁУ¬last¼ÇKµÄ×îºóÒ»¸öͬÒå´ÊµÄλÖà while£¨x!=i£© //¿ÉÄÜҪ̽²âһȦ {if£¨HS[x]==null£©break£» // ̽²âµ½¿ÕλÖ㬽áÊøÌ½²â else if£¨HS[x]%P==i£©last=x£»// ¹Ø¼ü×ÖKµÄͬÒå´Ê di=di+1£»x=(j+di) % m£» // È¡ÏÂÒ»µØÖ·Ì½²â } HS[j]=HS[last]; HS[last]=null; //½«¹þÏ£µØÖ·lastµÄ¹Ø

¡Á ÓοͿì½ÝÏÂÔØÍ¨µÀ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩
µ¥Æª¸¶·ÑÏÂÔØ
ÏÞÊ±ÌØ¼Û£º10 Ôª/·Ý Ô­¼Û:20Ôª
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
VIP°üÔÂÏÂÔØ
ÌØ¼Û£º29 Ôª/Ô ԭ¼Û:99Ôª
µÍÖÁ 0.3 Ôª/·Ý ÿÔÂÏÂÔØ150·Ý
ȫվÄÚÈÝÃâ·Ñ×ÔÓɸ´ÖÆ
×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£ºfanwen365 QQ£º370150219
Copyright © ÔÆÌ⺣ All Rights Reserved. ËÕICP±¸16052595ºÅ-3 ÍøÕ¾µØÍ¼ ¿Í·þQQ£º370150219 ÓÊÏ䣺370150219@qq.com