¶¥µã¸²¸ÇÎÊÌâµÄNPÍêȫ֤Ã÷ºÍ½üËÆËã·¨Çó½â

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/7/1 11:17:35ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

¶¥µã¸²¸ÇÎÊÌâµÄNPÍêȫ֤Ã÷ºÍ¶¥µã¸²¸ÇÓÅ»¯ÎÊÌâµÄ½üËÆËã·¨

¶¥µã¸²¸Ç£¨VERTEX COVER£©

¸ø¶¨Ò»¸öÎÞÏòͼG?(V,E)ºÍÒ»¸öÕýÕûÊýk£¬Èô´æÔÚV'?V£¬V'?k£¬Ê¹µÃ¶ÔÈÎÒâµÄ(u,v)?E£¬¶¼ÓÐu?V'»òv?V'£¬Ôò³ÆV'ΪͼGµÄÒ»¸ö´óСΪkµÄ¶¥µã¸²¸Ç¡£

¶¥µã¸²¸ÇÎÊÌâµÄÃèÊö

Åж¨ÎÊÌ⣺VERTEX COVER

Êä È룺ÎÞÏòͼG?(V,E)£¬ÕýÕûÊýk

ÎÊ Ì⣺GÖÐÊÇ·ñ´æÔÚÒ»¸ö´óСΪkµÄ¶¥µã¸²¸Ç£¬ÕâÊÇÒ»¸öNPÍêÈ«ÎÊÌâ ¶¥µã¸²¸ÇµÄNPÍêÈ«ÐÔÖ¤Ã÷

NPÐÔµÄÖ¤Ã÷£º

¶Ô¸ø¶¨µÄÎÞÏòͼG?(V,E)£¬Èô¶¥µãV'?VÊÇͼGµÄÒ»¸ö´óСΪk¶¥µãµÄ¸²¸Ç£¬Ôò¿ÉÒÔ¹¹ÔìÒ»¸öÈ·¶¨ÐÔµÄËã·¨£¬ÒÔ¶àÏîʽµÄʱ¼äÑéÖ¤V'?k£¬¼°¶ÔËùÓеÄ

(u,v)?E£¬ÊÇ·ñÓÐu?V'»òv?V'¡£Òò´Ë¶¥µã¸²¸ÇÎÊÌâÊÇÒ»¸öNPÎÊÌâ¡£

ÍêÈ«ÐÔµÄÖ¤Ã÷£º

ÎÒÃÇÒÑÖªÍż¯£¨CLIQUE£©ÎÊÌâÊÇÒ»¸öNPÍêÈ«ÎÊÌ⣬ÈôÍż¯ÎÊÌâ¹éÔ¼ÓÚ¶¥µã¸²¸ÇÎÊÌ⣬¼´CLIQUE?polyVERTEXCOVER£¬Ôò¶¥µã¸²¸ÇÎÊÌâ¾ÍÊÇÒ»¸öNPÍêÈ«

ÎÊÌâ¡£

ÎÒÃÇ¿ÉÒÔÀûÓÃÎÞÏòͼµÄ²¹Í¼À´ËµÃ÷Õâ¸öÎÊÌâ¡£ÈôÏòͼG?(V,E)£¬ÔòGµÄ²¹Í¼G?(V,E)£¬ÆäÖÐE?{(u,v)|(u,v)?E}¡£ÀýÈ磬ͼ1(b)ÊÇͼ1(a)µÄ²¹Í¼¡£ÔÚͼ1(a)ÖÐÓÐÒ»¸ö´óСΪ3µÄÍż¯{u,v,y}£¬ÔÚͼ1(b)ÖУ¬ÔòÓÐÒ»¸ö´óСΪ2µÄ¶¥µã¸²¸Ç{v,w}¡£ÏÔÈ»¿ÉÒÔÔÚ¶àÏîʽʱ¼äÀï¹¹ÔìͼGµÄ²¹Í¼G¡£Òò´Ë£¬Ö»ÒªÖ¤Ã÷ͼ

G?(V,E)ÓÐÒ»¸ö´óСΪ|V|?kµÄÍż¯£¬µ±ÇÒ½öµ±ËüµÄ²¹Í¼GÓÐÒ»¸ö´óСΪkµÄ¶¥µã¸²¸Ç¡£

uvuv?????wwxyxy(a) (b)

ͼ1ÎÞÏòͼ¼°²¹Í¼

?

±ØÒªÐÔ£ºÈç¹ûGÖÐÓÐÒ»¸ö´óСΪ|V|?kµÄÍż¯£¬ÔòËü¾ßÓÐÒ»¸ö´óСΪ|V|?k¸ö¶¥µãµÄÍêÈ«×Óͼ£¬ÁîÕâ|V|?k¸ö¶¥µã¼¯ºÏΪV'¡£Áî(u,v)ÊÇEÖеÄÈÎÒâÒ»Ìõ±ß£¬Ôò(u,v)?E¡£ËùÒÔ(u,v)ÖбØÓÐÒ»¸ö¶¥µã²»ÊôÓÚV'£¬¼´(u,v)ÖбØÓÐÒ»¸ö¶¥µãÊôÓÚ

V?V'£¬Ò²¾ÍÊDZß(u,v)±»V?V'¸²¸Ç¡£ÒòΪ(u,v)ÊÇEÖеÄÈÎÒâÒ»Ìõ±ß£¬Òò´Ë£¬E??Öеı߶¼±»¸²¸Ç£¬ËùÒÔ£¬V?V'ÊÇGµÄÒ»¸ö´óСΪ|V?V'|?kµÄ¶¥µã¸²¸Ç¡£

³ä·ÖÐÔ£ºÈç¹ûGÖÐÓÐÒ»¸ö´óСΪkµÄ¶¥µã¸²¸Ç£¬ÁîÕâ¸ö¶¥µã¸²¸ÇΪV'£¬(u,v)ÊÇEÖеÄÈÎÒâÒ»Ìõ±ß£¬ÔòuºÍvÖÁÉÙÓÐÒ»¸ö¶¥µãÊôÓÚV'¡£Òò´Ë£¬¶ÔÓÚÈÎÒâµÄ¶¥µãuºÍv£¬Èôu?V?V'²¢ÇÒv?V?V'£¬Ôò±ØÈ»ÓÐ(u,v)?E£¬¼´V?V'ÊÇGÖÐÒ»¸ö´óСΪµÄ|V|?kµÄÍż¯¡£

×ÛÉÏËùÊö£¬Íż¯£¨CLIQUE£©ÎÊÌâ¹éÔ¼ÓÚ¶¥µã¸²¸Ç£¨VERTEX COVER£©ÎÊÌ⣬¼´CLIQUE?polyVERTEXCOVER¡£ËùÒÔ£¬¶¥µã¸²¸ÇÎÊÌâÊÇÒ»¸öNPÍêÈ«ÎÊÌâ¡£

¶¥µã¸²¸ÇÓÅ»¯ÎÊÌâµÄ½üËÆËã·¨

ÉÏÃæÒѾ­Ö¤µÃ£¬¶¥µã¸²¸ÇÎÊÌâÊÇÒ»¸öNPÍêÈ«ÎÊÌ⣬Òò´Ë£¬Ã»ÓÐÒ»¸öÈ·¶¨ÐԵĶàÏîʽʱ¼äËã·¨À´½âËü¡£¶¥µã¸²¸ÇµÄÓÅ»¯ÎÊÌâÊÇÕÒ³öͼÖеÄ×îС¶¥µã¸²¸Ç¡£ÎªÁËÓýüËÆËã·¨½â¾öÕâ¸öÎÊÌ⣬¼ÙÉè¶¥µãÓÃ0,1,...,n?1±àºÅ£¬²¢ÓÃÏÂÃæµÄÁÚ½Ó±íÀ´´æ·Å¶¥µãÓë¶¥µãÖ®¼äµÄ¹ØÁª±ß¡£

struct adj_list{ /*ÁÚ½Ó±í½áµãµÄÊý¾Ý½á¹¹*/ intv_num; /*ÁÚ½Ó½áµãµÄ±àºÅ*/ struct adj_list?next; /*ÏÂÒ»¸öÁÚ½Ó¶¥µã*/ };

typedef struct adj_list NODE;

NODE ?V[n]; /*ͼGµÄÁÚ½Ó±íÍ·½áµã*/ Ôò¶¥µã¸²¸ÇÎÊÌâµÄ½üËÆËã·¨µÄÇó½â²½Öè¿ÉÒÔÐðÊöÈçÏ£º £¨1£©¶¥µãµÄ³õʼ±àºÅu?0£»

£¨2£©Èç¹û¶¥µãu´æÔÚ¹ØÁª±ß£¬×ªµ½²½Ö裨3£©£¬·ñÔò£¬×ªµ½²½Ö裨5£©£» £¨3£©Áî¹ØÁª±ßΪ(u,v)£¬°Ñ¶¥µãuºÍ¶¥µãvµÇ¼Çµ½¶¥µã¸²¸ÇCÖУ» £¨4£©É¾È¥Óë¶¥µãuºÍ¶¥µãv¹ØÁªµÄËùÓбߣ»

£¨5£©u?u?1£¬Èç¹ûu?n£¬×ªµ½²½Ö裨2£©£¬·ñÔò£¬Ëã·¨½áÊø¡£ Ëã·¨µÄʵÏÖ¹ý³ÌÐðÊöÈçÏ£º

Ëã·¨Ãû³Æ£º¶¥µã¸²¸ÇÓÅ»¯ÎÊÌâµÄ½üËÆËã·¨£»

Êä È룺ÎÞÏòͼGµÄÁÚ½Ó±íV[]£¬¶¥µã¸öÊýΪn£»

Êä ³ö£ºÍ¼GµÄ¶¥µã¸²¸ÇC[]£¬CÖеĶ¥µã¸öÊýΪm¡£ 1.vertex_cover_app(NODE?V[],intn,intC[],int&m) 2.{

3. NODE?p,p1; 4. intu,v; 5. m?0;

6. for(u?0;u?n;u??){ 7. p?V[u]?next;

8. if(p!?NULL){ /*Èç¹ûu´æÔÚ¹ØÁª±ß*/ 9. C[m]?u;C[m?1]?v?p?v_num;m?2;

10. while(p!?NULL){ /*Ôòѡȡ±ß(u,v)µÄ¶¥µã*/ 11. delete_e(p?v_num,u); /*ɾȥÓëuÓйØÁªµÄËùÓбß*/ 12. p?p?next;

???13. }

14. V[u]?next?NULL; 15. p1?V[v]?next;

16. while(p!?NULL){ /*ɾȥÓëv¹ØÁªµÄËùÓбß*/ 17. delete_e(p?v_num,v); 18. p?p?next; 19. }

20. V[v]?next?NULL; 21. } 22.}

Ë㷨˵Ã÷£º

Õâ¸öËã·¨ÓÃÊý×éCÀ´´æ·Å¶¥µã¸²¸ÇÖеĸ÷¸ö¶¥µã£¬ÓñäÁ¿mÀ´´æ·ÅÊý×éCÖеĶ¥µã¸öÊý¡£¿ªÊ¼Ê±£¬°Ñ±äÁ¿m³õʼ»¯Îª0£¬°Ñ¶¥µãµÄ±àºÅu³õʼ»¯Îª0¡£È»ºó´Ó¶¥µãu¿ªÊ¼£¬Èç¹û¶¥µãu´æÔÚ׏ØÁª±ß£¬¾Í°Ñ¶¥µãu¼°ÆäÒ»¸öÁÚ½ÓµãvµÇ¼Çµ½Êý×éCÖС£²¢É¾È¥Óë¶¥µãuºÍ¶¥µãvµÄËùÓйØÁª±ß¡£ÆäÖУ¬µÚ11Ðеĺ¯Êýdelete_e(p?v_num,u)ÓÃÀ´É¾È¥¶¥µãp?v_numÓë¶¥µãuÏàÁڽӵĵǼÇÏµÚ

,v)ÓÃÀ´É¾È¥¶¥µãp?v_numÓë¶¥µãvÏàÁÚ½ÓµÄ17Ðк¯Êýdelete_e(p?v_numµÇ¼ÇÏµÚ14ÐкÍ20Ðзֱð°Ñ¶¥µãuºÍ¶¥µãvµÄÁÚ½Ó±íÍ·½áµãµÄÁ´Ö¸ÕëÖÃΪ¿Õ£¬´Ó¶ø·Ö±ðɾȥÕâÁ½¸ö¶¥µãÓëÆäËû¶¥µãÏàÁÚ½ÓµÄËùÓеǼÇÏî¡£¾­¹ýÕâÑùµÄ´¦Àí£¬¾Í°Ñ¶¥µãu¼°¶¥µãvµÄËùÓйØÁª±ßɾȥ¡£ÕâÖÖ´¦ÀíÒ»Ö±½øÐУ¬Ö±µ½Í¼GÖеÄËùÓб߶¼±»É¾È¥ÎªÖ¹¡£×îºó£¬ÔÚÊý×éCÖдæ·Å×ÅͼGµÄ¶¥µã¸²¸ÇÖеĸ÷¸ö¶¥µã±àºÅ£¬±äÁ¿m±íʾÊý×éCÖеǼǵĶ¥µã¸öÊý¡£

ͼ2±íʾÁËÕâÖÖ´¦Àí¹ý³Ì¡£Í¼2(a)±íʾͼGµÄ³õʼ״̬£»Í¼2(b)±íʾѡÔñ±ß(a,b)£¬°Ñ¹ØÁª±ßµÄ¶¥µãa¼°b·Å½øÊý×éCÖУ¬²¢É¾È¥¶¥µãa¼°¶¥µãbÏà¹ØÁªµÄËùÓбߣ¬ÕâÀïɾȥ±ß(a,b)£¬(a,g)¼°(a,j)£»Í¼2(c)±íʾѡÔñ±ß(c,d)£¬°Ñ¹ØÁª¸Ã±ßµÄ¶¥µãcºÍ¶¥µãd·Å½øÊý×éCÖУ¬²¢É¾È¥±ß(c,d)£¬(c,g)¼°(d,i)£»Õâ¸ö¹ý³ÌÒ»Ö±½øÐУ¬Í¼2(g)±íʾ×îºóµÃµ½µÄ½á¹û¡£Õû¸ö´¦Àí¹ý³Ì¹²Ñ¡ÔñÁË6Ìõ±ßÉϵÄ12¸ö¶¥µã£¬×÷ΪͼµÄÒ»¸ö¶¥µã¸²¸Ç£¬ËûÃÇÊÇa,b,c,d,e,f,g,h,j,k,l,m¡£¿ÉÒÔ¿´µ½£¬Ëü²»ÊÇͼGµÄ×îСµÄ¶¥µã¸²¸Ç¡£Í¼2(h)±íʾͼGµÄÒ»¸ö×îСµÄ¶¥µã¸²¸Ç£¬ËüÓÐ7¸ö¶¥µã£¬·Ö±ðÊÇa,c,f,h,i,k,l¡£

abcdefabcdefghighijklmjklm

(a) (b)

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4 ceshi