öλÔÓéÀֵǼÈë¿ÚÏÂÔØ

2004Ä깤³Ì˶ʿÊýѧ£ºÊý¾Ý½á¹¹ÊÔÌâ¼°´ð°¸

Freekaoyan.com/2009-01-04

¡¡¡¡Ò»¡¢ÅжÏÏÂÁÐÐðÊöµÄ¶Ô´í¡£
¡¡¡¡£¨1£©ÏßÐÔ±íµÄÂß¼­Ë³ÐòÓëÎïÀí˳Ðò×ÜÊÇһֵġ£
¡¡¡¡£¨2£©ÏßÐÔ±íµÄ˳Ðò´æ´¢±íʾÓÅÓÚÁ´Ê½´æ´¢±íʾ¡£
¡¡¡¡£¨3£©ÏßÐÔ±íÈô²ÉÓÃÁ´Ê½´æ´¢±íʾʱËùÓнáµãÖ®¼äµÄ´æ´¢µ¥ÔªµØÖ·¿ÉÁ¬Ðø¿É²»Á¬Ðø¡£
¡¡¡¡£¨4£©¶þάÊý×éÊÇÆäÊý×éÔªËØÎªÏßÐÔ±íµÄÏßÐÔ±í¡£
¡¡¡¡£¨5£©Ã¿ÖÖÊý¾Ý½á¹¹¶¼Ó¦¾ß±¸ÈýÖÖ»ù±¾ÔËË㣺²åÈ롢ɾ³ýºÍËÑË÷¡£
¡¡¡¡¶þ¡¢Éèµ¥Á´±íÖнáµãµÄ½á¹¹Îª
¡¡¡¡typedef struct node { file://Á´±í½áµã¶¨Òå
¡¡¡¡ElemType data£» file://Êý¾Ý
¡¡¡¡struct node * Link£» file://½áµãºó¼ÌÖ¸Õë
¡¡¡¡} ListNode£»
¡¡¡¡£¨1£©ÒÑÖªÖ¸ÕëpËùÖ¸½áµã²»ÊÇβ½áµã£¬ÈôÔÚ*pÖ®ºó²åÈë½áµã*s£¬ÔòÓ¦Ö´ÐÐÏÂÁÐÄÄÒ»¸ö²Ù×÷£¿
¡¡¡¡A. s->link = p£» p->link = s£»
¡¡¡¡B. s->link = p->link£» p->link = s£»
¡¡¡¡C. s->link = p->link£» p = s£»
¡¡¡¡D. p->link = s£» s->link = p£»
¡¡¡¡£¨2£©·Ç¿ÕµÄÑ­»·µ¥Á´±ífirstµÄβ½áµã£¨ÓÉpËùÖ¸Ïò£©Âú×㣺
¡¡¡¡A. p->link == NULL£»
¡¡¡¡B. p == NULL£»
¡¡¡¡C. p->link == first£»
¡¡¡¡D. p == first£»
¡¡¡¡Èý¡¢ÉèÓÐÒ»¸ö˳ÐòÕ»S£¬ÔªËØs1£¬ s2£¬ s3£¬ s4£¬ s5£¬ s6ÒÀ´Î½øÕ»£¬Èç¹û6¸öÔªËØµÄ³öջ˳ÐòΪs2£¬ s3£¬ s4£¬ s6£¬ s5£¬ s1£¬Ôò˳ÐòÕ»µÄÈÝÁ¿ÖÁÉÙӦΪ¶àÉÙ£¿
¡¡¡¡ËÄ¡¢Ò»¿Ã¾ßÓÐn¸ö½áµãµÄÀíÏëÆ½ºâ¶þ²æÊ÷£¨¼´³ýÀë¸ù×îÔ¶µÄ×îµ×²ãÍâÆäËû¸÷²ã¶¼ÊÇÂúµÄ£¬×îµ×²ãÓÐÈô¸É½áµã£©ÓжàÉٲ㣿ÈôÉè¸ù½áµãÔÚµÚ0²ã£¬ÔòÊ÷µÄ¸ß¶ÈhÈçºÎÓÃnÀ´±íʾ£¨×¢Òân¿ÉÄÜΪ0£©£¿ ¡¡¡¡¡¡
¡¡¡¡Îå¡¢´Ó¹©Ñ¡ÔñµÄ´ð°¸ÖÐÑ¡ÔñÓëÏÂÃæÓйØÍ¼µÄÐðÊöÖи÷À¨ºÅÏàÆ¥ÅäµÄ´Ê¾ä£¬½«Æä±àºÅÌîÈëÏàÓ¦µÄÀ¨ºÅÄÚ¡£
¡¡¡¡£¨1£©¶ÔÓÚÒ»¸ö¾ßÓÐn¸ö½áµãºÍeÌõ±ßµÄÎÞÏòͼ£¬Èô²ÉÓÃÁÚ½Ó±í±íʾ£¬Ôò¶¥µã±íµÄ´óСΪ£¨A£©£¬ËùÓбßÁ´±íÖб߽áµãµÄ×ÜÊýΪ£¨B£©¡£
¡¡¡¡£¨2£©²ÉÓÃÁÚ½Ó±í´æ´¢µÄͼµÄÉî¶ÈÓÅÏȱéÀúËã·¨ÀàËÆÓÚÊ÷µÄ£¨C£©¡£
¡¡¡¡£¨3£©²ÉÓÃÁÚ½Ó±í´æ´¢µÄͼµÄ¹ã¶ÈÓÅÏȱéÀúËã·¨ÀàËÆÓÚÊ÷µÄ£¨D£©¡£
¡¡¡¡£¨4£©ÅжÏÓÐÏòͼÊÇ·ñ´æÔÚ»ØÂ·£¬³ýÁË¿ÉÒÔÀûÓÃÍØÆËÅÅÐò·½·¨Í⣬»¹¿ÉÒÔÀûÓã¨E£©¡£
¡¡¡¡¹©Ñ¡ÔñµÄ´ð°¸
¡¡¡¡A£º¢Ùn¢Ún+1¢Ûn-1¢Ün+e
¡¡¡¡B£º¢Ùe/2¢Úe¢Û2e¢Ün+e
¡¡¡¡C~D£º¢ÙÖиù±éÀú¢ÚÏȸù±éÀú¢Ûºó¸ù±éÀú¢Ü°´²ã´Î±éÀú
¡¡¡¡E£º¢ÙÇ󹨼ü·¾¶µÄ·½·¨¢ÚÇó×î¶Ì·¾¶µÄDijkstra·½·¨
¡¡¡¡¢ÛÉî¶ÈÓÅÏȱéÀúËã·¨¢Ü¹ã¶ÈÓÅÏȱéÀúËã·¨
¡¡¡¡Áù¡¢Ìî¿ÕÌâ
¡¡¡¡£¨1£©ÔÚÓÃÓÚ±íʾÓÐÏòͼµÄÁÚ½Ó¾ØÕóÖУ¬¶ÔµÚiÐеÄÔªËØ½øÐÐÀÛ¼Ó£¬¿ÉµÃµ½µÚi¸ö¶¥µãµÄ£¨¢Ù£©¶È£¬¶ø¶ÔµÚjÁеÄÔªËØ½øÐÐÀÛ¼Ó£¬¿ÉµÃµ½µÚj¸ö¶¥µãµÄ£¨¢Ú£©¶È¡£
¡¡¡¡£¨2£©Ò»¸öÁ¬Í¨Í¼µÄÉú³ÉÊ÷ÊǸÃͼµÄ£¨¢Û£©Á¬Í¨×Óͼ¡£ÈôÕâ¸öÁ¬Í¨Í¼ÓÐn¸ö¶¥µã£¬ÔòËüµÄÉú³ÉÊ÷ÓУ¨¢Ü£©Ìõ±ß¡£
¡¡¡¡£¨3£©¸ø¶¨ÐòÁÐ{100£¬ 86£¬ 48£¬ 73£¬ 35£¬ 39£¬ 42£¬ 57£¬ 66£¬ 21}£¬°´¶Ñ½á¹¹µÄ¶¨Ò壬ÔòËüÒ»¶¨£¨¢Ý£©¶Ñ¡£
¡¡¡¡£¨4£©ÔÚ½øÐÐÖ±½Ó²åÈëÅÅÐòʱ£¬ÆäÊý¾Ý±È½Ï´ÎÊýÓëÊý¾ÝµÄ³õʼÅÅÁУ¨¢Þ£©¹Ø£»¶øÔÚ½øÐÐÖ±½ÓÑ¡ÔñÅÅÐòʱ£¬ÆäÊý¾Ý±È½Ï´ÎÊýÓëÊý¾ÝµÄ³õʼÅÅÁУ¨¢ß£©¹Ø¡£
¡¡¡¡£¨5£©ÀûÓùؼüÂë·Ö±ðΪ10£¬ 20£¬ 30£¬ 40µÄËĸö½áµã£¬Äܹ¹Ôì³ö£¨¢à£©ÖÖ²»Í¬µÄ¶þ²æËÑË÷Ê÷¡£
Æß¡¢Éè´ø±íÍ·½áµãµÄË«ÏòÁ´±íµÄ¶¨ÒåΪ 
¡¡¡¡typedef int ElemType£»
¡¡¡¡typedef struct dnode { file://Ë«ÏòÁ´±í½áµã¶¨Òå
¡¡¡¡ElemType data£» file://Êý¾Ý
¡¡¡¡struct dnode * lLink£¬ * rLink£» file://½áµãǰÇýÓëºó¼ÌÖ¸Õë
¡¡¡¡DblNode£»
¡¡¡¡typedef DblNode * DblList£» file://Ë«ÏòÁ´±í
¡¡¡¡ÊÔÉè¼ÆÒ»¸öËã·¨£¬¸ÄÔìÒ»¸ö´ø±íÍ·½áµãµÄË«ÏòÁ´±í£¬ËùÓнáµãµÄÔ­ÓдÎÐò±£³ÖÔÚ¸÷¸ö½áµãµÄÓÒÁ´ÓòrLinkÖУ¬²¢ÀûÓÃ×óÁ´ÓòlLink°ÑËùÓнáµã°´ÕÕÆäÖµ´ÓСµ½´óµÄ˳ÐòÁ¬½ÓÆðÀ´¡£
¡¡¡¡°Ë¡¢ÉèÓÐÒ»¸ö¹Ø¼üÂëµÄÊäÈëÐòÁÐ{ 55£¬ 31£¬ 11£¬ 37£¬ 46£¬ 73£¬ 63£¬ 02£¬ 07 }
¡¡¡¡£¨1£©´Ó¿ÕÊ÷¿ªÊ¼¹¹ÔìÆ½ºâ¶þ²æËÑË÷Ê÷£¬»­³öÿ¼ÓÈëÒ»¸öнáµãʱ¶þ²æÊ÷µÄÐÎ̬¡£Èô·¢Éú²»Æ½ºâ£¬Ö¸Ã÷Ðè×öµÄƽºâÐýתµÄÀàÐͼ°Æ½ºâÐýתµÄ½á¹û¡£
¡¡¡¡£¨2£©¼ÆËã¸Ãƽºâ¶þ²æËÑË÷Ê÷ÔڵȸÅÂÊϵIJéÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶ÈºÍ²éÕÒ²»³É¹¦µÄƽ¾ù²éÕÒ³¤¶È¡£
¡¡¡¡¾Å¡¢ÏÂÃæÊÇÇóÁ¬Í¨ÍøÂçµÄ×îСÉú³ÉÊ÷µÄPrimËã·¨µÄʵÏÖ£¬ÖмäÓÐ5¸öµØ·½È±Ê§£¬ÇëÔĶÁ³ÌÐòºó½«ËüÃDz¹ÉÏ¡£
¡¡¡¡const int MaxInt = INT_MAX£» file://INT_MAXµÄÖµÔÚÖÐ
¡¡¡¡const int n = 6£» file://ͼµÄ¶¥µãÊý£¬Ó¦ÓÉÓû§¶¨Òå
¡¡¡¡typedef int AdjMatrix[n>[n>£» file://ÓöþάÊý×é×÷ΪÁÚ½Ó¾ØÕó±íʾ
¡¡¡¡typedef struct file://Éú³ÉÊ÷µÄ±ß½áµã
¡¡¡¡int fromVex£¬ toVex£» file://±ßµÄÆðµãÓëÖÕµã
¡¡¡¡int weight£» file://±ßÉϵÄȨֵ
¡¡¡¡TreeEdgeNode£»
¡¡¡¡typedef TreeEdgeNode MST[n-1>£» file://×îСÉú³ÉÊ÷¶¨Òå
¡¡¡¡void PrimMST £¨ AdjMatrix G£¬ MST T£¬ int rt £© {
¡¡¡¡file://´Ó¶¥µãrt³ö·¢¹¹ÔìͼGµÄ×îСÉú³ÉÊ÷T£¬rt³ÉΪÊ÷µÄ¸ù½áµã
¡¡¡¡TreeEdgeNode e£» int i£¬ k = 0£¬ min£¬ minpos£¬ v£»
¡¡¡¡for £¨ i = 0£» i < n£» i++ £© file://³õʼ»¯×îСÉú³ÉÊ÷T
¡¡¡¡if £¨ i £¡= rt £© {
¡¡¡¡T[k>.fromVex = rt£»
¡¡¡¡T[k>.toVex = I £»
¡¡¡¡T[k++>.weight = G[rt>£»}
¡¡¡¡for £¨ k = 0£» k < n-1£» k++ £© { file://ÒÀ´ÎÇóMSTµÄºòÑ¡±ß
¡¡¡¡min = MaxInt £»
¡¡¡¡for £¨ i = k£» i < n-1£» i++ £© file://±éÀúµ±Ç°ºòÑ¡±ß¼¯ºÏ
¡¡¡¡if £¨ T.weight < min £© file://Ñ¡¾ßÓÐ×îСȨֵµÄºòÑ¡±ß
¡¡¡¡{ min = T.weight£» minpos = i £» }
¡¡¡¡if £¨ min == MaxInt £© file://ͼ²»Á¬Í¨£¬³ö´í´¦Àí
¡¡¡¡{ cerr ¡¶¡°Graph is disconnected£¡¡±¡¶ endl£» exit£¨1£© £» }
¡¡¡¡e = T[minpos>£» T[minpos> = T[k> £» T[k> = e£»
¡¡¡¡v = T[k>.toVex£»
¡¡¡¡for £¨ i = k+1£» i < n-1£» i++ £© file://Ð޸ĺòÑ¡±ß¼¯ºÏ
¡¡¡¡if £¨ G[v>[T.toVex> < T.weight £©
¡¡¡¡T.weight = G[v>[T.toVex>£»
¡¡¡¡T.fromVex = v £»
¡¡¡¡²Î¿¼´ð°¸ £º
¡¡¡¡Ò»¡¢£¨1£©´í£¨2£©´í£¨3£©¶Ô£¨4£©´í£¨5£©¶Ô
¡¡¡¡¶þ¡¢£¨1£© B £¨2£© C
¡¡¡¡Èý¡¢3
¡¡¡¡ËÄ¡¢h =¨¦log2£¨n+1£©¨´-1
¡¡¡¡Îå¡¢A.¢ÙB.¢ÛC.¢ÚD.¢ÜE.¢Û
¡¡¡¡Áù¡¢¢Ù³ö¢ÚÈë¢Û¼«Ð¡¢Ün-1
¡¡¡¡¢ÝÊÇ£¨×îС£©¢ÞÓТßÎÞ¢à14
¡¡¡¡Æß¡¢Ëã·¨ÈçÏÂ
¡¡¡¡void sort £¨ DblNode * L £© {
¡¡¡¡DblNode * s = L->rlink£»
¡¡¡¡file://Ö¸ÕësÖ¸Ïò´ý²åÈë½áµã£¬³õʼʱָÏòµÚÒ»¸ö½áµã
¡¡¡¡while £¨ s £¡= NULL £© { file://´¦ÀíËùÓнáµã
¡¡¡¡pre = L£» p = L->lLink£»
¡¡¡¡file://Ö¸ÕëpÖ¸Ïò´ý±È½ÏµÄ½áµã£¬ preÊÇpµÄǰÇýÖ¸Õë
¡¡¡¡while £¨ p £¡= NULL && s->data < p->data £©
¡¡¡¡file://Ñ­lLinkÁ´Ñ°ÕÒ½áµã*sµÄ²åÈëλÖÃ
¡¡¡¡{ pre = p£» p = p->lLink£» }
¡¡¡¡pre->lLink = s£» s->lLink = p£» s = s->rLink£»
¡¡¡¡file://½áµã*sÔÚlLink·½Ïò²åÈëµ½*preÓë*pÖ®¼ä
¡¡¡¡}
¡¡¡¡°Ë¡¢¹Ø¼üÂëµÄÊäÈëÐòÁÐ{ 55£¬ 31£¬ 11£¬ 37£¬ 46£¬ 73£¬ 63£¬ 02£¬ 07 }
¡¡¡¡ÔڵȸÅÂÊϲéÕҳɹ¦µÄƽ¾ù²éÕÒ³¤¶È
¡¡¡¡ÔڵȸÅÂÊϲéÕÒ²»³É¹¦µÄƽ¾ù²éÕÒ³¤¶È
¡¡¡¡¾Å
¡¡¡¡¢ÙT[k>.toVex = i
¡¡¡¡¢Úmin = MaxInt
¡¡¡¡¢Ûminpos = i
¡¡¡¡¢Üexit£¨1£©
¡¡¡¡¢ÝT.fromVex = v
¡¡¡¡¶à×öÌ⣬ÇÚ˼¿¼£¬öλÔÓéÀֵǼÈë¿ÚÏÂÔØ´ó±à¼­ÏàÐÅÁª¿¼Ê¤ÀûÒ»¶¨ÊôÓÚÄ㣡

Ïà¹Ø»°Ìâ/

  • ÁìÏÞʱ´ó¶îÓÅ»Ýȯ,Ïí±¾Õ¾Õý°æöλÔÓéÀֵǼÈë¿ÚÏÂÔØöλÔÓéÀÖ¹Ù·½appÏÂÔØ!
    ´ó¶îÓÅ»Ýȯ
    ÓÅ»ÝȯÁìÈ¡ºó72СʱÄÚÓÐЧ£¬10ÍòÖÖ×îÐÂöλÔÓéÀֵǼÈë¿ÚÏÂÔØ¿¼Ö¤Ààµç×Ó´òÓ¡öλÔÓéÀÖ¹Ù·½appÏÂÔØÈÎÄãÑ¡¡£º­¸ÇÈ«¹ú500ÓàËùԺУöλÔÓéÀÖ¹Ù·½appÏÂÔØöλÔÓéÀֵǼÈë¿ÚÏÂÔØ¿Î¡¢200¶àÖÖÖ°Òµ×ʸñöλÔÓéÀֵǼÈë¿ÚÏÂÔØ¡¢1100¶àÖÖ¾­µä½Ì²Ä£¬²úÆ·ÀàÐͰüº¬µç×ÓÊé¡¢Ìâ¿â¡¢È«Ì×öλÔÓéÀÖ¹Ù·½appÏÂÔØÒÔ¼°ÊÓÆµ£¬ÎÞÂÛÄúÊÇöλÔÓéÀÖ¹Ù·½appÏÂÔØ¸´Ï°¡¢¿¼Ö¤Ë¢Ì⣬»¹ÊÇ¿¼Ç°³å´ÌµÈ£¬²»Í¬ÀàÐ͵IJúÆ·¿ÉÂú×ãÄúѧϰÉϵIJ»Í¬ÐèÇó¡£ ...
    öλÔÓéÀֵǼÈë¿ÚÏÂÔØÓÅ»Ýȯ ±¾Õ¾Ð¡±à FreeÒ¼°Û·ÖÑ§Ï°Íø 2022-09-19
öλÔÓéÀÖ(xinhui)¹Ù·½ÍøÕ¾_öλÔÓéÀÖappÏÂÔØÈë¿Ú