ÑÏεÃô°æÊý¾Ý½á¹¹¿ÎºóϰÌâ´ð°¸-ÍêÕû°æ ÏÂÔØ±¾ÎÄ

µÚ1Õ Ð÷ÂÛ

1.1 ¼òÊöÏÂÁÐÊõÓÊý¾Ý£¬Êý¾ÝÔªËØ¡¢Êý¾Ý¶ÔÏó¡¢Êý¾Ý½á¹¹¡¢´æ´¢½á¹¹¡¢Êý¾ÝÀàÐͺͳéÏóÊý¾ÝÀàÐÍ¡£

½â£ºÊý¾ÝÊǶԿ͹ÛÊÂÎïµÄ·ûºÅ±íʾ¡£ÔÚ¼ÆËã»ú¿ÆÑ§ÖÐÊÇÖ¸ËùÓÐÄÜÊäÈëµ½¼ÆËã»úÖв¢±»¼ÆËã»ú³ÌÐò´¦ÀíµÄ·ûºÅµÄ×ܳơ£

Êý¾ÝÔªËØÊÇÊý¾ÝµÄ»ù±¾µ¥Î»£¬ÔÚ¼ÆËã»ú³ÌÐòÖÐͨ³£×÷Ϊһ¸öÕûÌå½øÐп¼ÂǺʹ¦Àí¡£

Êý¾Ý¶ÔÏóÊÇÐÔÖÊÏàͬµÄÊý¾ÝÔªËØµÄ¼¯ºÏ£¬ÊÇÊý¾ÝµÄÒ»¸ö×Ó¼¯¡£ Êý¾Ý½á¹¹ÊÇÏ໥֮¼ä´æÔÚÒ»ÖÖ»ò¶àÖÖÌØ¶¨¹ØÏµµÄÊý¾ÝÔªËØµÄ¼¯ºÏ¡£

´æ´¢½á¹¹ÊÇÊý¾Ý½á¹¹ÔÚ¼ÆËã»úÖеıíʾ¡£

Êý¾ÝÀàÐÍÊÇÒ»¸öÖµµÄ¼¯ºÏºÍ¶¨ÒåÔÚÕâ¸öÖµ¼¯ÉϵÄÒ»×é²Ù×÷µÄ×ܳơ£

³éÏóÊý¾ÝÀàÐÍÊÇÖ¸Ò»¸öÊýѧģÐÍÒÔ¼°¶¨ÒåÔÚ¸ÃÄ£ÐÍÉϵÄÒ»×é²Ù×÷¡£ÊǶÔÒ»°ãÊý¾ÝÀàÐ͵ÄÀ©Õ¹¡£

1.2 ÊÔÃèÊöÊý¾Ý½á¹¹ºÍ³éÏóÊý¾ÝÀàÐ͵ĸÅÄîÓë³ÌÐòÉè¼ÆÓïÑÔÖÐÊý¾ÝÀàÐ͸ÅÄîµÄÇø±ð¡£

½â£º³éÏóÊý¾ÝÀàÐͰüº¬Ò»°ãÊý¾ÝÀàÐ͵ĸÅÄµ«º¬Òå±ÈÒ»°ãÊý¾ÝÀàÐ͸ü¹ã¡¢¸ü³éÏó¡£Ò»°ãÊý¾ÝÀàÐÍÓɾßÌåÓïÑÔϵͳÄÚ²¿¶¨Ò壬ֱ½ÓÌṩ¸ø±à³ÌÕß¶¨ÒåÓû§Êý¾Ý£¬Òò´Ë³ÆËüÃÇΪԤ¶¨ÒåÊý¾ÝÀàÐÍ¡£³éÏóÊý¾Ý

ÀàÐÍͨ³£Óɱà³ÌÕß¶¨Ò壬°üÀ¨¶¨ÒåËüËùʹÓõÄÊý¾ÝºÍÔÚÕâЩÊý¾ÝÉÏËù½øÐеIJÙ×÷¡£ÔÚ¶¨Òå³éÏóÊý¾ÝÀàÐÍÖеÄÊý¾Ý²¿·ÖºÍ²Ù×÷²¿·Öʱ£¬ÒªÇóÖ»¶¨Òåµ½Êý¾ÝµÄÂß¼­½á¹¹ºÍ²Ù×÷˵Ã÷£¬²»¿¼ÂÇÊý¾ÝµÄ´æ´¢½á¹¹ºÍ²Ù×÷µÄ¾ßÌåʵÏÖ£¬ÕâÑù³éÏó²ã´Î¸ü¸ß£¬¸üÄÜΪÆäËûÓû§ÌṩÁ¼ºÃµÄʹÓýӿڡ£

1.3 ÉèÓÐÊý¾Ý½á¹¹(D,R)£¬ÆäÖÐ

D??d1,d2,d3,d4?£¬R??r?£¬r???d1,d2?,?d2,d3?,?d3,d4??

ÊÔ°´Í¼ÂÛÖÐͼµÄ»­·¨¹ßÀý»­³öÆäÂß¼­½á¹¹Í¼¡£

½â£º

1.4 ÊÔ·ÂÕÕÈýÔª×éµÄ³éÏóÊý¾ÝÀàÐÍ·Ö±ðд³ö³éÏóÊý¾ÝÀàÐ͸´ÊýºÍÓÐÀíÊýµÄ¶¨Ò壨ÓÐÀíÊýÊÇÆä·Ö×Ó¡¢·Öĸ¾ùΪ×ÔÈ»ÊýÇÒ·Öĸ²»ÎªÁãµÄ·ÖÊý£©¡£ ½â£º ADT Complex{

Êý¾Ý¶ÔÏó£ºD={r,i|r,iΪʵÊý} Êý¾Ý¹ØÏµ£ºR={} »ù±¾²Ù×÷£º

InitComplex(&C,re,im)

²Ù×÷½á¹û£º¹¹ÔìÒ»¸ö¸´ÊýC£¬Æäʵ²¿ºÍÐ鲿·Ö±ðΪreºÍim

DestroyCmoplex(&C)

²Ù×÷½á¹û£ºÏú»Ù¸´ÊýC

Get(C,k,&e)

²Ù×÷½á¹û£ºÓÃe·µ»Ø¸´ÊýCµÄµÚkÔªµÄÖµ

Put(&C,k,e)

²Ù×÷½á¹û£º¸Ä±ä¸´ÊýCµÄµÚkÔªµÄֵΪe

IsAscending(C)

²Ù×÷½á¹û£ºÈç¹û¸´ÊýCµÄÁ½¸öÔªËØ°´ÉýÐòÅÅÁУ¬Ôò·µ»Ø

1£¬·ñÔò·µ»Ø0

IsDescending(C)

²Ù×÷½á¹û£ºÈç¹û¸´ÊýCµÄÁ½¸öÔªËØ°´½µÐòÅÅÁУ¬Ôò·µ»Ø

1£¬·ñÔò·µ»Ø0

Max(C,&e)

²Ù×÷½á¹û£ºÓÃe·µ»Ø¸´ÊýCµÄÁ½¸öÔªËØÖÐÖµ½Ï´óµÄÒ»¸ö

Min(C,&e)

²Ù×÷½á¹û£ºÓÃe·µ»Ø¸´ÊýCµÄÁ½¸öÔªËØÖÐÖµ½ÏСµÄÒ»¸ö

}ADT Complex

ADT RationalNumber{

Êý¾Ý¶ÔÏó£ºD={s,m|s,mΪ×ÔÈ»Êý£¬ÇÒm²»Îª0} Êý¾Ý¹ØÏµ£ºR={} »ù±¾²Ù×÷£º

InitRationalNumber(&R,s,m)

²Ù×÷½á¹û£º¹¹ÔìÒ»¸öÓÐÀíÊýR£¬Æä·Ö×ӺͷÖĸ·Ö±ðΪsºÍm

DestroyRationalNumber(&R)

²Ù×÷½á¹û£ºÏú»ÙÓÐÀíÊýR

Get(R,k,&e)

²Ù×÷½á¹û£ºÓÃe·µ»ØÓÐÀíÊýRµÄµÚkÔªµÄÖµ

Put(&R,k,e)

²Ù×÷½á¹û£º¸Ä±äÓÐÀíÊýRµÄµÚkÔªµÄֵΪe

IsAscending(R)

²Ù×÷½á¹û£ºÈôÓÐÀíÊýRµÄÁ½¸öÔªËØ°´ÉýÐòÅÅÁУ¬Ôò·µ»Ø

1£¬·ñÔò·µ»Ø0

IsDescending(R)

²Ù×÷½á¹û£ºÈôÓÐÀíÊýRµÄÁ½¸öÔªËØ°´½µÐòÅÅÁУ¬Ôò·µ»Ø

1£¬·ñÔò·µ»Ø0 ¸ö ¸ö

}ADT RationalNumber

Min(R,&e)

²Ù×÷½á¹û£ºÓÃe·µ»ØÓÐÀíÊýRµÄÁ½¸öÔªËØÖÐÖµ½ÏСµÄÒ»

Max(R,&e)

²Ù×÷½á¹û£ºÓÃe·µ»ØÓÐÀíÊýRµÄÁ½¸öÔªËØÖÐÖµ½Ï´óµÄÒ»

1.5 ÊÔ»­³öÓëÏÂÁгÌÐò¶ÎµÈ¼ÛµÄ¿òͼ¡£