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

21£®ÒÑÖª¶þ²æÅÅÐòÊ÷²ÉÓöþ²æÁ´±í´æ´¢½á¹¹£¬¸ù½áµãµÄÖ¸ÕëΪT£¬Á´½áµãµÄ½á¹¹Îª£¨lchild,data,rchild£©£¬ÆäÖÐlchild¡¢rchild·Ö±ðÖ¸Ïò¸Ã½áµã×ó¡¢ÓÒº¢×ÓµÄÖ¸Õ루µ±º¢×Ó½áµã²»´æÔÚʱ£¬ÏàÓ¦Ö¸ÕëÓòΪnull£©,dataÓò´æ·Å½áµãµÄÊý¾ÝÐÅÏ¢¡£Çëд³öµÝ¹éËã·¨£¬´ÓСµ½´óÊä³ö¶þ²æÅÅÐòÊ÷ÖÐËùÓÐÊý¾ÝÖµ>=xµÄ½áµãµÄÊý¾Ý¡£ÒªÇóÏÈÕÒµ½µÚÒ»¸öÂú×ãÌõ¼þµÄ½áµãºóÔÙÒÀ´ÎÊä³öÆäËûÂú×ãÌõ¼þµÄ½áµã¡£ 22. Éè¶þ²æÅÅÐòÊ÷µÄ´æ´¢½á¹¹Îª£º

TYPE tree=^node£» node=RECORD

key: keytype; size:int;

lchild, rchild, parents: tree£» END;

Ò»¸ö½áµãx^µÄsizeÓòµÄÖµÊÇÒԸýáµãΪ¸ùµÄ×ÓÊ÷ÖнáµãµÄ×ÜÊý£¨°üÀ¨x^±¾Éí£©¡£ÀýÈ磬ÏÂͼÖÐxËùÖ¸½áµãµÄsixeֵΪ4¡£ÉèÊ÷¸ßΪh£¬ÊÔдһʱ¼äΪO(h)µÄËã·¨

Rank(T:tree;x:^node)·µ»ØxËùÖ¸½áµãÔÚ¶þ²æÅÅÐòÊ÷TµÄÖÐÐòÐòÁÐÀïµÄÅÅÐòÐòºÅ£¬¼´£ºÇóx^½áµãÊǸùΪTµÄ¶þ²æÅÅÐòÊ÷Öеڼ¸¸ö×îÐ¡ÔªËØ¡£ÀýÈ磬ÏÂͼxËùÖ¸½áµãÊÇÊ÷TÖеÚ11¸ö×îÐ¡ÔªËØ¡££¨Ìáʾ£ºÄã¿ÉÀûÓÃsizeÖµºÍË«Ç×Ö¸Õëparents£©

23£®ÒÑ֪ij¹þÏ£±íHTµÄ×°ÌîÒò×ÓСÓÚ1£¬¹þÏ£º¯ÊýH(key)Ϊ¹Ø¼ü×ֵĵÚÒ»¸ö×ÖĸÔÚ×Öĸ±íÖеÄÐòºÅ¡£

£¨1£© ´¦Àí³åÍ»µÄ·½·¨ÎªÏßÐÔ̽²â¿ª·ÅµØÖ··¨¡£±àдһ¸ö°´µÚÒ»¸ö×ÖĸµÄ˳ÐòÊä³ö

¹þÏ£±íÖÐËùÓйؼü×ֵijÌÐò¡£

£¨2£© ´¦Àí³åÍ»µÄ·½·¨ÎªÁ´µØÖ··¨¡£±àдһ¸ö¼ÆËãÔڵȸÅÂÊÇé¿öϲéÕÒ²»³É¹¦µÄƽ

¾ù²éÕÒ³¤¶ÈµÄËã·¨¡£×¢Ò⣬´ËËã·¨Öй涨²»ÄÜÓù«Ê½Ö±½ÓÇó½â¼ÆËã¡£

24£®ÓÐÒ»¸ö100*100µÄÏ¡Êè¾ØÕ󣬯äÖÐ1%µÄÔªËØÎª·ÇÁãÔªËØ£¬ÏÖÒªÇóÓùþÏ£±í×÷´æ´¢½á¹¹¡£

£¨1£©ÇëÄãÉè¼ÆÒ»¸ö¹þÏ£±í

£¨2£©Çëдһ¸ö¶ÔÄãËùÉè¼ÆµÄ¹þÏ£±íÖиø¶¨ÐÐÖµºÍÁÐÖµ´æÈ¡¾ØÕóÔªËØµÄËã·¨£»²¢¶ÔÄãµÄËã·¨ËùÐèʱ¼äºÍÓÃһάÊý×飨ÿ¸ö·ÖÁ¿´æ·ÅÒ»¸ö·ÇÁãÔªËØµÄÐÐÖµ£¬ÁÐÖµ£¬ºÍÔªËØÖµ£©×÷´æ´¢½á¹¹Ê±´æÈ¡ÔªËصÄËã·¨£¨×¢£º´ËËã·¨²»ÐèҪд³ö£¬½öÐè˵Ã÷´æÈ¡µÄ·½·¨ºÍËùÓÃʱ¼ä£©½øÐбȽϡ£

25£®½«Ò»×éÊý¾ÝÔªËØ°´¹þÏ£º¯ÊýH£¨key£©É¢Áе½¹þÏ£±íHT£¨0:m£©ÖУ¬ÓÃÏßÐÔ̽²â·¨´¦Àí³åÍ»£¨H£¨key£©+1¡¢H£¨key£©+2¡¢?¡¢H£¨key£©-1£©£¬¼ÙÉè¿Õµ¥ÔªÓÃEMPTY±íʾ£¬É¾³ý²Ù×÷Êǽ«¹þÏ£±íÖнáµã±ê־λ´ÓINUSE±ê¼ÇΪDELETED£¬ÊÔд³ö¸ÃÉ¢ÁбíµÄ²éÕÒ¡¢²åÈëºÍɾ³ýÈý¸ö»ù±¾²Ù×÷Ëã·¨¡£

26. Éè¸ø¶¨¹Ø¼ü×ÖÊäÈëÐòÁÐΪ£¨100£¬90£¬120£¬60£¬78£¬35£¬42£¬31£¬15£©ÓÃÉ¢Áз¨É¢ÁÐ0-10µÄµØÖ·Çø¼ä¡£ÒªÇóÉè¼ÆÒ»ºÏÀíµÄÉ¢Áк¯Êý£»³åͻʱÓÃÁ´±í·¨½â¾ö£¬Ð´³öÉ¢ÁÐËã·¨£¬²¢¹¹Ôì³öÉ¢ÁÐ±í£¬ÔڵȸÅÂʲéÕÒÇé¿öϲéÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶ÈÊǶàÉÙ£¿

ÀàËÆ±¾ÌâµÄÁíÍâÐðÊöÓУº

(1) ÒÑÖªÊäÈë¹Ø¼ü×ÖÐòÁÐΪ£¨100,90,120,60,78,35,42,31,15£©µØÖ·Çø¼äΪ£°¡«£±£±¡£Éè¼ÆÒ»¸ö¹þÏ£±íº¯Êý°ÑÉÏÊö¹Ø¼ü×ÖÉ¢µ½£°¡«£±£±ÖУ¬»­³öÉ¢ÁÐ±í£¨³åÍ»ÓÃÏßÐÔ̽²â·¨£©£»Ð´³ö²éÕÒËã·¨£¬¼ÆËãÔڵȸÅÂÊÇé¿öϲéÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶È¡£

27.ÒÑ֪˳Ðò±íÖÐÓÐm¸ö¼Ç¼£¬±íÖмǼ²»ÒÀ¹Ø¼ü×ÖÓÐÐòÅÅÁУ¬±àдË㷨Ϊ¸Ã˳Ðò±í½¨Á¢Ò»¸öÓÐÐòµÄË÷Òý±í£¬Ë÷Òý±íÖеÄÿһÏ¼Ç¼µÄ¹Ø¼ü×ֺ͸üǼÔÚ˳Ðò±íÖеÄÐòºÅ£¬ÒªÇóËã·¨µÄʱ¼ä¸´ÔÓ¶ÈÔÚ×îºÃµÄÇé¿öÏÂÄÜ´ïµ½£©O(m).

²Î¿¼´ð°¸£º Ò»£®Ñ¡ÔñÌâ 1.C 2.A 3.1D 3.2C 4.D 5.B 6.D 7.D 8.C 9.A 10.D 11.B 12.1C 12.2C 13.1C 13.2D 13.3G 13.4H 14.1E 14.2B 14.3E 14.4B 14.5B 15.1B 15.2A 16.A 26.2C 27.B ¶þ£®ÅжÏÌâ 1.¡Ì 2.¡Ì 3.¡Á 4.¡Á 5.¡Á 6.¡Ì 7.¡Ì 8.¡Á 9.¡Á 10.¡Á 11.¡Á 12.¡Ì 17.C 28.D 18.C 29.D 19.C 30.C 20.D 31.D 21.B 22.C 23.B 24.D 25.C 26.1A 32.1D 32.2C 33.C 13.¡Ì 14.¡Á 15.¡Á 16.¡Á 17.¡Ì 18.¡Á 19.¡Ì 20.¡Á 21.¡Á 22.¡Á 23.¡Á 24.¡Á 25.¡Ì 26.¡Á 27.¡Á 28.¡Ì 29.¡Ì 30.¡Á 31.¡Ì 32.¡Ì 33.¡Á 34.¡Ì 35.¡Ì ²¿·Ö´ð°¸½âÊÍÈçÏ¡£

4£®²»ÄÜ˵ÄÄÖÖ¹þÏ£º¯ÊýµÄѡȡ·½·¨×îºÃ£¬¸÷ÖÖѡȡ·½·¨ÓÐ×Ô¼ºµÄÊÊÓ÷¶Î§¡£ 8£®¹þÏ£±íµÄ½áµãÖпÉÒÔ°üÀ¨Ö¸Õ룬ָÏòÆäÔªËØ¡£ 11£®µ¥Á´±í²»ÄÜʹÓÃÕÛ°ë²éÕÒ·½·¨¡£

20£®°´²åÈëºóÖÐÐò±éÀúÊǵÝÔöÐòÁеÄÔ­Ôò£¬Èôij½áµãÖ»ÓÐÓÒ×ÓÊ÷£¬¶ø²åÈëÔªËØµÄ¹Ø¼ü×ÖСÓڸýáµãµÄ¹Ø¼ü×Ö£¬Ôò»á²åÈëµ½¸Ã½áµãµÄ×ó²à£¬³ÉΪÆä×óº¢×Ó¡£ÕâÖÖ²åÈë¾Í²»ÊDzåÈëµ½Ò¶×ÓÏÂÃæ¡£

21£®´ÓƽºâÒò×Ó¶¨Òå¿´£¬ÍêÈ«¶þ²æÊ÷ÈÎÒ»½áµãµÄƽºâÒò×ӵľø¶ÔֵȷʵÊÇСÓÚµÈÓÚ1¡£µ«ÊÇ£¬Æ½ºâ¶þ²æÊ÷±¾ÖÊÉÏÊǶþ²æÅÅÐòÊ÷£¬ÍêÈ«¶þ²æÊ÷²»Ò»¶¨ÊÇÅÅÐòÊ÷¡£¹Ê²»ÄÜ˵ÍêÈ«¶þ²æÊ÷ÊÇÆ½ºâ¶þ²æÊ÷¡£

23£®Ä³½áµãµÄ×ó×ÓÊ÷¸ù½áµã²»Ò»¶¨ÊÇËüµÄÖÐÐòǰÇý£¬ÆäÓÒ×ÓÊ÷¸ù½áµãÒ²²»Ò»¶¨ÊÇËüµÄÖÐÐòºó¼Ì¡£

24£®ÔڵȸÅÂÊÏ£¬²éÕҳɹ¦Ê±µÄƽ¾ù²éÕÒ³¤¶ÈÏàͬ£¬²éÕÒʧ°ÜʱµÄƽ¾ù²éÕÒ³¤¶È²»Ïàͬ¡£ 26£®Ö»Óб»É¾³ý½áµãÊÇÒ¶×Ó½áµãʱÃüÌâ²ÅÕýÈ·¡£

Èý£®Ìî¿ÕÌâ

1£®n n+1 2£®4 3£®6,9,11,12 4£®5

5£®26£¨µÚ4²ãÊÇÒ¶×Ó½áµã£¬Ã¿¸ö½áµãÁ½¸ö¹Ø¼ü×Ö£© 6£®1,3,6,8,11,13,16,19 7£®5,96 8£®m-1,¡¸m/2?-1 9£®2,4,3

10£®(1)¹þÏ£º¯Êý(2)½â¾ö³åÍ»µÄ·½·¨ (3)Ñ¡ÔñºÃµÄ¹þÏ£º¯Êý (4)´¦Àí³åÍ»µÄ·½·¨ (5)¾ùÔÈ(6)¼òµ¥

11£®AVLÊ÷£¨¸ß¶ÈƽºâÊ÷£¬¸ß¶ÈƽºâµÄ¶þ²æÅÅÐòÊ÷£©£¬»òΪ¿Õ¶þ²æÊ÷£¬»ò¶þ²æÊ÷ÖÐÈÎÒâ½áµã×ó×ÓÊ÷¸ß¶ÈÓëÓÒ×ÓÊ÷¸ß¶È²îµÄ¾ø¶ÔֵСÓÚµÈÓÚ1¡£

12£®Ð¡ÓÚµÈÓÚ±í³¤µÄ×î´óËØÊý»ò²»°üº¬Ð¡ÓÚ20µÄÖÊÒò×ӵĺÏÊý 13£®16 14£®?©S2¡¹+1

15£®(1)45 (2)45 (3)46£¨¿éÄÚ˳Ðò²éÕÒ£© 16£®k(k+1)/2

17£®30£¬31.5£¨¿éÄÚ˳Ðò²éÕÒ£©

18£®(1)˳Ðò´æ´¢»òÁ´Ê½´æ´¢ (2)˳Ðò´æ´¢ÇÒÓÐÐò (3)¿éÄÚ˳Ðò´æ´¢£¬¿é¼äÓÐÐò (4) É¢Áд洢

19£®(n+1)/2 20£®(n+1)/n*log2(n+1)-1 21£®½áµãµÄ×ó×ÓÊ÷µÄ¸ß¶È¼õÈ¥½áµãµÄÓÒ×ÓÊ÷µÄ¸ß¶È

22£®(1)˳Ðò±í(2)Ê÷±í(3)¹þÏ£±í(4)¿ª·Å¶¨Ö··½·¨(5)Á´µØÖ··½·¨(6)ÔÙ¹þÏ£(7)½¨Á¢¹«¹²Òç³öÇø

23£®Ö±½Ó¶¨Ö··¨ 24£®O(N) 25£®n(n+1)/2 26£®54 27£®31 28£®37/12 29£®Ö÷¹Ø¼ü×Ö 30£®×ó×ÓÊ÷ ÓÒ×ÓÊ÷

n

31£®²åÈë ɾ³ý 32£®14 33£®(1)126 (2)64 (3)33 (4)65 34£®£¨1£©low<=high (2) (low+hig) DIV 2 (3) binsrch:=mid (4)binsrch:=0 35£®(1) k (2) Irear 37£®(1)p!=null (2)pf=p (3)p!=*t (4)*t=null

ËÄ£®Ó¦ÓÃÌâ

1£®¸ÅÄîÊÇ»ù±¾ÖªÊ¶µÄÖ÷Òª²¿·Ö£¬ÒªÀιÌÕÆÎÕ¡£Ä¿µÄÊÇÒýÆðÖØÊÓ£¬½â´ðÂÔ¡£ 2£®£¨1£©É¢ÁÐ±í´æ´¢µÄ»ù±¾Ë¼ÏëÊÇÓùؼü×ÖµÄÖµ¾ö¶¨Êý¾ÝÔªËØµÄ´æ´¢µØÖ· £¨2£©É¢ÁÐ±í´æ´¢Öнâ¾öÅöײµÄ»ù±¾·½·¨£º

¢Ù ¿ª·Å¶¨Ö··¨ ÐγɵØÖ·ÐòÁеĹ«Ê½ÊÇ£ºHi=£¨H£¨key£©+di£©% m£¬ÆäÖÐmÊÇ±í³¤£¬diÊÇÔöÁ¿¡£¸ù¾ÝdiÈ¡·¨²»Í¬£¬ÓÖ·ÖΪÈýÖÖ£º

a£®di =1£¬2£¬?£¬m-1 ³ÆÎªÏßÐÔ̽²âÔÙÉ¢ÁУ¬ÆäÌØµãÊÇÖð¸ö̽²â±í¿Õ¼ä£¬Ö»ÒªÉ¢ÁбíÖÐÓпÕÏпռ䣬¾Í¿É½â¾öÅöײ£¬È±µãÊÇÈÝÒ×Ôì³É¡°¾Û¼¯¡±£¬¼´²»ÊÇͬÒå´ÊµÄ¹Ø¼ü×ÖÕù¶áͬһɢÁеØÖ·¡£

b£®di =1£¬-1£¬2£¬-2£¬? £¬?k£¨k¡Üm/2£© ³ÆÎª¶þ´Î̽²âÔÙÉ¢ÁУ¬Ëü¼õÉÙÁ˾ۼ¯£¬µ«²»ÈÝÒ×̽²âµ½È«²¿±í¿Õ¼ä£¬Ö»Óе±±í³¤ÎªÐÎÈç4j+3£¨jΪÕûÊý£©µÄËØÊýʱ²ÅÓпÉÄÜ¡£

c£®di =Î±Ëæ»úÊýÐòÁУ¬³ÆÎªËæ»ú̽²âÔÙÉ¢ÁС£

¢Ú ÔÙÉ¢Áз¨ Hi=RHi£¨key£© i=1£¬2£¬?£¬k£¬ÊDz»Í¬µÄÉ¢Áк¯Êý£¬¼´ÔÚͬÒå´Ê²úÉúÅöײʱ£¬ÓÃÁíһɢÁк¯Êý¼ÆËãÉ¢ÁеØÖ·£¬Ö±µ½½â¾öÅöײ¡£¸Ã·½·¨²»ÒײúÉú¡°¾Û¼¯¡±£¬µ«Ôö¼ÓÁ˼ÆËãʱ¼ä¡£

¢Û Á´µØÖ··¨ ½«¹Ø¼ü×ÖΪͬÒå´ÊµÄ¼Ç¼´æ´¢ÔÚͬһÁ´±íÖУ¬É¢ÁÐ±íµØÖ·Çø¼äÓÃH[0..m-1]±íʾ£¬·ÖÁ¿³õʼֵΪ¿ÕÖ¸Õë¡£·²É¢ÁеØÖ·Îªi£¨0¡Üi¡Üm-1£©µÄ¼Ç¼¾ù²åÔÚÒÔH[i]ΪͷָÕëµÄÁ´±íÖС£ÕâÖÖ½â¾ö·½·¨ÖÐÊý¾ÝÔªËØ¸öÊý²»ÊÜ±í³¤ÏÞÖÆ£¬²åÈëºÍɾ³ý²Ù×÷·½±ã£¬µ«Ôö¼ÓÁËÖ¸ÕëµÄ¿Õ¼ä¿ªÏú¡£ÕâÖÖÉ¢ÁÐ±í³£³ÆÎª¿ªÉ¢ÁÐ±í£¬¶ø¢ÙÖеÄÉ¢ÁÐ±í³Æ±ÕÉ¢ÁÐ±í£¬º¬ÒåÊÇÔªËØ¸öÊýÊÜ±í³¤ÏÞÖÆ¡£

¢Ü ½¨Á¢¹«¹²Òç³öÇø ÉèH[0..m-1]Ϊ»ù±¾±í£¬·²¹Ø¼ü×ÖΪͬÒå´ÊµÄ¼Ç¼£¬¶¼ÌîÈëÒç³öÇøO[0..m-1]¡£

£¨3£©Ó÷ÖÀëµÄͬÒå´Ê±íºÍ½áºÏµÄͬÒå´Ê±í½â¾öÅöײ¾ùÊôÓÚÁ´µØÖ··¨¡£Á´µØÖ·ÏòÁ¿¿Õ¼äÖеÄÿ¸öÔªËØ²»ÊǼòµ¥µÄµØÖ·£¬¶øÊǹؼü×ÖºÍÖ¸ÕëÁ½¸öÓò£¬É¢ÁеØÖ·Îªi£¨0¡Üi¡Üm-1£©µÄµÚÒ»¸ö¹Ø¼ü×Ö´æ´¢ÔÚµØÖ·¿Õ¼äÏòÁ¿µÚi¸ö·ÖÁ¿µÄ¡°¹Ø¼ü×Ö¡±Óò¡£Ç°ÕßµÄÖ¸ÕëÓòÊǶ¯Ì¬Ö¸Õ룬ָÏò

2

2

2

2

2

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)