Êý¾Ý½á¹¹ µÚ°ËÕ ²éÕÒ±í ÏÂÔر¾ÎÄ

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