°¸Àý·ÖÏí
ΪÁ˸üºÃµØÕ¹Ê¾¡°¸É±ÆÈí¼þ¡±Êµ²ÙºóϵͳÓÅ»¯µÄЧ¹û£¬ÎÒÃÇѡȡÁ˼¸¸öµäÐͰ¸?Àý½øÐзÖÏí¡£ÀýÈ磬ij´óÐÍÖÆÔìÆóҵͨ¹ýÓÅ»¯ºóµÄϵͳ£¬½«Êý¾Ý´¦Àíʱ¼äËõ¶ÌÁË40%£¬Éú²úµ÷¶ÈЧÂÊÌáÉýÁË30%¡£ÁíÒ»¸ö°¸ÀýÊÇij½ðÈÚ»ú¹¹£¬Í¨¹ýϵͳÓÅ»¯£¬´ó´óÌáÉýÁ˽»Ò×´¦ÀíËÙ¶È£¬¼õÉÙÁ˽»Ò×ÑÓ³Ù£¬Ìá¸ßÁ˿ͻ§ÂúÒâ¶È¡£
¸ßЧµÄË㷨ѡÔñ
Êý¾Ý½á¹¹Ñ¡Ôñ£ºÑ¡ÔñºÏÊʵÄÊý¾Ý½á¹¹¿ÉÒÔ´ó·ùÌáÉýËã·¨µÄЧÂÊ¡£ÀýÈ磬ÔÚÐèҪƵ·±²éÕÒºÍɾ³ý²Ù×÷µÄÇé¿öÏ£¬¹þÏ£±í£¨HashTable£©ÊÇ×î¼ÑÑ¡Ôñ¡£
Ëã·¨¸´ÔÓ¶È£º¾¡Á¿Ñ¡Ôñʱ¼ä¸´ÔӶȽϵ͵ÄËã·¨¡£ÀýÈ磬ÔÚÅÅÐòÈÎÎñÖУ¬¿ìËÙÅÅÐò£¨QuickSort£©ºÍ¹é²¢ÅÅÐò£¨MergeSort£©Í¨³£±ÈðÅÝÅÅÐò£¨BubbleSort£©¸ü¸ßЧ¡£
¶¯Ì¬¹æ»®£ºÔÚÐèÒª½â¾ö¸´ÔÓÓÅ»¯ÎÊÌâʱ£¬¶¯Ì¬¹æ»®£¨DynamicProgramming£©Í¨³£Äܹ»Ìṩ±Ḛ̀ÐÄËã·¨£¨GreedyAlgorithm£©¸ü¸ßЧµÄ½â¾ö·½°¸¡£
ÐÔÄܵ÷ÊԺͷÖÎö
ʹÓÃÐÔÄÜ·ÖÎöÆ÷£ºÀýÈ磬Valgrind¡¢gprofµÈ¹¤¾ß¿ÉÒÔ°ïÖúÄã·ÖÎö´úÂëµÄÐÔÄÜÆ¿¾±£¬ÕÒµ½¿ÉÒÔÓÅ»¯µÄ²¿?·Ö¡£
ʹÓûº´æ»úÖÆ£º»º´æ»úÖÆ¿ÉÒÔ¼õÉÙÖØ¸´¼ÆË㣬Ìá¸ß·ÃÎÊËÙ¶È¡£ÀýÈ磬ÔÚ¼ÆËãÃܼ¯ÐÍÈÎÎñÖУ¬Ê¹ÓÃÄڴ滺´æ¿ÉÒÔÏÔÖøÌáÉýÐÔÄÜ¡£
ÆÊÎö¶ÑÕ»ÐÅÏ¢£ºÊ¹Óù¤¾ß·ÖÎö³ÌÐòµÄ¶ÑÕ»ÐÅÏ¢£¬¿ÉÒÔÕÒµ½×îºÄʱµÄº¯Êý£¬´Ó¶ø½øÐÐÕë¶ÔÐÔµÄÓÅ»¯¡£
Óû§·´À¡×ܽá
ÔÚ³¤ÆÚʹÓÃÖУ¬ÎÒÃÇÊÕ¼¯ÁË´óÁ¿Óû§µÄ·´À¡¡£Óû§ÆÕ±é·´Ó³£¬ÏµÍ³ÓÅ»¯ºó£¬¹¤×÷ЧÂÊÏÔÖøÌáÉý£¬²Ù×÷Á÷³©¶È´ó´óÌá¸ß¡£ÌرðÊÇÔÚ´¦?Àí´óÁ¿Êý¾ÝºÍ¸´ÔÓÈÎÎñʱ£¬ÏµÍ³µÄ±íÏÖÁîÈËÂúÒâ¡£Óû§»¹Ìáµ½£¬ÏµÍ³µÄÎȶ¨ÐÔºÍÏìÓ¦ËٶȾùÓÐÃ÷ÏÔÌáÉý£¬¼õÉÙÁËϵͳ±ÀÀ£ºÍÖØÆôµÄÇé¿ö£¬Ìá¸ßÁ˹¤×÷µÄÁ¬ÐøÐԺͿɿ¿ÐÔ¡£
ºöÊÓÈí¼þÎĵµºÍ°ïÖú
Èí¼þµÄ¹Ù·½ÎĵµºÍ°ïÖúÎļþͨ³£°üº¬ÁËÐí¶àÖØÒªµÄʹÓü¼ÇɺÍ×î¼Ñʵ¼ù£¬µ«ÓÐЩÓû§¿ÉÄÜ»áºöÂÔÕâЩ×ÊÔ´¡£ÔÚʹÓÃÈí¼þʱ£¬Ó¦¸Ã¶à¶à²Î¿¼¹Ù·½ÎĵµºÍ°ïÖúÎļþ£¬ÕâÑù¿ÉÒÔ¸üÈ«ÃæµØÁ˽âÈí¼þµÄ¹¦ÄܺÍʹÓ÷½·¨£¬±Ü?ÃâһЩ³£¼û´íÎó¡£
ͨ¹ý±ÜÃâÕâЩ¸ßƵÎóÇø£¬²¢×ñÑÕýÈ·µÄ´ò¿ªºÍʹÓ÷½Ê½£¬Äã¿ÉÒÔ¸ü¸ßЧ¡¢¸ü°²È«µØÊ¹Ó᰸ɱơ±Èí¼þ£¬³ä·Ö·¢»ÓÆä¹¦ÄÜ£¬ÌáÉý¹¤×÷ЧÂÊ¡£Ï£ÍûÕâÆªÖ¸ÄÏÄÜΪÄãÌṩÓмÛÖµµÄ²Î¿¼£¬×£ÄãÔÚÈí¼þʹÓÃÖÐÈ¡µÃ¸ü´óµÄ³É¹¦£¡
¶¨ÆÚϵͳά»¤
¶¨ÆÚ½øÐÐϵͳά»¤£¬ÈçÇåÀíÁÙʱÎļþ¡¢¸üв¹¶¡ºÍ±¸·ÝÊý¾Ý£¬¿ÉÒÔ±£³ÖϵͳµÄÎȶ¨ºÍ¸ßЧÔËÐС£¸É±ÆÏµÍ³¹ÜÀíÕßͨ³£»áÕÆÎÕÒÔÏÂά»¤·½·¨£º
×Ô¶¯»¯½Å±¾£º±àд×Ô¶¯»¯½Å±¾½øÐж¨ÆÚϵͳ¼ì²éºÍά»¤¡£²¹¶¡¹ÜÀí£º¼°Ê±Ó¦ÓÃϵͳºÍÈí¼þµÄ°²?È«²¹¶¡£¬·Àֹ©¶´ÀûÓá£Êý¾Ý±¸·Ý£º¶¨ÆÚ±¸·ÝÖØÒªÊý¾Ý£¬·ÀÖ¹Êý¾Ý¶ªÊ§¡£
ͨ¹ýÕÆÎÕÒÔÉÏ¡°¸É±Æ¡±Èí¼þʵ²Ù¼¼ÇÉÓëϵͳÓÅ»¯·½·¨£¬Ä㽫Äܹ»ÔÚÈí¼þ¿ª·¢ºÍϵͳ¹ÜÀíÖÐÓÎÈÐÓÐÓ࣬Ìá¸ß¹¤×÷ЧÂÊ£¬ÎªÍÅ¶ÓºÍÆóÒµ´øÀ´¸ü´óµÄ¼ÛÖµ¡£ÎÞÂÛÄãÊÇÐÂÊÖ»¹ÊÇ×ÊÉîר¼Ò£¬ÕâЩ·½·¨¶¼½«ÎªÄãÌṩ±¦¹óµÄÖ¸µ¼ºÍ°ïÖú¡£Ï£Íû±¾ÎÄÄܹ»³ÉΪÄãÔÚÈí¼þ¿ª·¢ºÍϵͳÓÅ»¯µÀ·ÉϵÄÒ»·ÝÖ¸ÄÏ£¬ÖúÄãһ·¸ßЧǰÐУ¡
´úÂëÓÅ»¯µÄ¸ß¼¶¼¼ÇÉ
¶ÔÓÚ×·Çó¼«ËÙáÛ·åµÄ?¿ª·¢Õߣ¬ÒÔϸ߼¶¼¼ÇÉ¿ÉÒÔ½øÒ»²½ÌáÉý´úÂëЧÂÊ£º
º¯ÊýÔ¤±àÒëºÍÄÚÁªÕ¹¿ª£ºÐí¶àÏÖ´ú±àÒëÆ÷¿ÉÒÔ¶Ôº¯Êý½øÐÐÔ¤±à?Ò룬ÕâÑù¿ÉÒÔÔÚÔËÐÐʱ¼õÉÙº¯Êýµ÷ÓõĿªÏú¡£ÄÚÁªÕ¹¿ª£¨Inlining£©¿ÉÒÔ¼õÉÙº¯Êýµ÷ÓõĿªÏú£¬Ìá¸ß´úÂëÔËÐÐËÙ¶È¡£
²¢ÐмÆËãºÍ¶àỊ̈߳ºÔÚ¶àºË´¦ÀíÆ÷»·¾³Ï£¬Ê¹ÓöàÏ̺߳Ͳ¢ÐмÆËã¿ÉÒÔ´ó´óÌáÉý¼ÆËãËÙ¶È¡£¶àÏ̱߳à³ÌÐèÒªÌØ±ðСÐÄ£¬ÒÔ±ÜÃâḬ̈߳²È«ÎÊÌâ¡£
ʹÓÃÄÚ´æ?³Ø£ºÆµ·±µÄÄÚ´æ·ÖÅäºÍÊͷŻᵼÖÂÄÚ´æË鯬»¯£¬Ó°ÏìÐÔÄÜ¡£Ê¹ÓÃÄÚ´æ³Ø¿ÉÒÔ¼õÉÙÄÚ´æ·ÖÅäºÍÊͷŵĿªÏú£¬ÌáÉýϵͳÐÔÄÜ¡£
ʵ¼ÊЧ¹û·ÖÎö
Ìá¸ß¹¤×÷ЧÂÊ£ºÍ¨¹ýʹÓ᰸ɱÆÈí¼þ¡±£¬Óû§Äܹ»Íê³É?¸ü¶à¹¤×÷£¬¼õÉÙÁË·±ËöµÄÊÖ¶¯²Ù×÷£¬ÏÔÖøÌá¸ßÁ˹¤×÷ЧÂÊ¡£½µµÍ´íÎóÂÊ£º×Ô¶¯»¯ºÍ¾«×¼µÄÊý¾Ý´¦Àí¹¦ÄÜ£¬¼õÉÙÁËÈËΪ´íÎó£¬Ìá¸ßÁ˹¤×÷µÄ׼ȷÐԺͿɿ¿ÐÔ¡£ÔöÇ¿ÍŶÓÐ×÷£º¼¯³ÉµÄ¼´Ê±Í¨Ñ¶¡¢Îļþ¹²ÏíºÍÔÚÏß»áÒéµÈ¹¦ÄÜ£¬´Ù½øÁËÍŶÓÄÚ²¿?ºÍ¿ç²¿ÃŵŵͨÐ×÷£¬Ìá¸ßÁËÍŶÓÐ×÷µÄЧÂʺÍЧ¹û¡£
½Úʡʱ¼ä£ºÍ¨¹ý×Ô¶¯»¯¹¤¾ßºÍ¸ßЧµÄÎĵµ´¦Àí¹¦ÄÜ£¬Óû§Äܹ»½ÚÊ¡´óÁ¿µÄʱ¼ä£¬½«¸ü¶à¾«Á¦¼¯ÖÐÔÚºËÐÄÈÎÎñÉÏ¡£
У¶Ô£ºÁõ¿¡Ó¢(p6mu9CWFoIx7YFddy4eQTuEboRc9VR7b9b)


