Ê×Ò³
ѧϰ
»î¶¯
רÇø
¹¤¾ß
TVP
·¢²¼
¾«Ñ¡ÄÚÈÝ/¼¼ÊõÉçȺ/ÓŻݲúÆ·,¾¡ÔÚС³ÌÐò
Á¢¼´Ç°Íù

Python¡¢Java¡¢C++Ò»Íø´ò¾¡£¬Õâ¸öGitHubÏîÄ¿ÓöàÖÖÓïÑÔʵÏÖ¾­µäËã·¨

¾­µäÊý¾Ý½á¹¹ºÍËã·¨ÄãÁ˽⼸¸ö£¿ÏëÈ¥´ó³§ÃæÊÔ£¿Ïë³ÉΪËã·¨¹¤³Ìʦ£¿ÊÕÏÂÕâ·ÝÈ«ÃæµÄ¸´Ï°²ÄÁÏ¡£

²»Ïë×öµÍ¼¶ÂëÅ©£¬²»Ïë³ÉΪǰ¶Ë¿Ùͼ´ïÈË»òÊǺǫ́¡¸Ôöɾ¸Ä²é¡¹Ð¡Íõ×Ó£¿ÄÇÄã¿ÉÄÜÐèÒªºÃºÃ¸´Ï°ÏÂËã·¨ÓëÊý¾Ý½á¹¹¡£Ïë³ÉΪËã·¨¹¤³Ìʦ£¬»ù´¡ÖªÊ¶ÊÇÈƲ»¿ªµÄ´óɽ¡£Õâ´ÎÒªÍƼöµÄÏîÄ¿ÊÇÊý¾Ý½á¹¹ÓëËã·¨µÄ¿ªÔ´ÏîÄ¿¼¯£¬¸²¸Ç¶àÖÖÖ÷Á÷ÓïÑÔ£¬ÊµÏÖ¸÷ÀྭµäÊý¾Ý½á¹¹¼°Ëã·¨¡£

ÏîÄ¿µØÖ·£ºhttps://github.com/trending

The Algorithms ÏîÄ¿½éÉÜ

ÕýÈç The Algorithms ÏîÄ¿Ö÷Ò³ÉϽéÉܵÄÄÇÑù£¬ÕâÊÇÒ»¸öʹÓöàÖÖ±à³ÌÓïÑÔ£¬ÊµÏÖ¾­µäÊý¾Ý½á¹¹ÓëËã·¨µÄ¿ªÔ´ÏîÄ¿¼¯¡£ÕâÀïµÄ¡¸any Programming Language¡¹ÕæÊÇûÓÐÐé¼ÙÐû´«£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ The Algorithms Àï´Ó½ÏΪÁ÷ÐÐµÄ Python¡¢Java¡¢C¡¢C++µ½ C#¡¢Go¡¢Rust¡¢Kotlin ÓïÑÔÓ¦Óо¡ÓУ¬µ±È»Óеıà³ÌÓïÑÔʵÏÖµÄËã·¨»¹²»ÊÇÄÇôµÄ·á¸»£¬ÆäÖÐά»¤½ÏºÃµÄ»¹ÊÇ Python ºÍ Java¡£

±¾ÎÄÒÔ The Algorithms µÄ Python ÏîĿΪÀý½øÐнéÉÜ¡£

½ØÖÁÄ¿Ç°£¬¸ÃÏîÄ¿ÒѾ­ÓÐ 7 Íò¶àÐÇ£¬ÄÚÈݺ­¸Ç¼ÓÃÜËã·¨¡¢Í¼Ïñ´¦Àí¡¢¶¯Ì¬¹æ»®¡¢ÏßÐÔ´úÊý¡¢¾­µä»úÆ÷ѧϰËã·¨¡¢ËÑË÷Ëã·¨¡¢ÅÅÐòËã·¨ÒÔ¼°¸÷ÖÖÊý¾Ý½á¹¹µÈ£¬µ¥ÊÇËùʵÏÖËã·¨µÄĿ¼¾ÍÓÐ 600 ¶àÐС­¡­µ±È»£¬ÏîÄ¿×÷ÕßÒ²Ö¸³ö£¬¸ÃÏîÄ¿µÄÖ÷ҪĿµÄÊÇÓÃ×÷¸÷ÖÖËã·¨µÄѧϰ×ÊÁÏ£¬ÏîÄ¿ÖеÄһЩʵÏÖ¿ÉÄÜûÓÐ Python ±ê×¼¿âÖеÄÄÇô¸ßЧ¡£

ÏîÄ¿µØÖ·£ºhttps://github.com/TheAlgorithms/Python

²¿·ÖË㷨չʾ

¸ÃÏîÄ¿ÎüÒýÈ˵ĵط½²»µ¥ÊÇÀïÃæÓзḻµÄË㷨ʵÏÖ£¬²¿·ÖËã·¨»¹ÅäÓÐÏà¹Ø½âÊÍ¡¢Î¬»ù°Ù¿ÆÁ´½ÓºÍ½»»¥ÍøÒ³Á´½Ó¡£ÎÒÃÇÑ¡È¡ÁËÆäÖеIJ¿·ÖË㷨ʵÏÖ½øÐÐչʾ¡£

ÅÅÐòËã·¨

1. ðÅÝÅÅÐò

ðÅÝÅÅÐòÊÇÒ»ÖÖ¼òµ¥µÄÅÅÐòËã·¨¡£ËüÖظ´µØ×ß·ÃÒªÅÅÐòµÄÊýÁУ¬Ò»´Î±È½ÏÁ½¸öÔªËØ£¬Èç¹ûËüÃǵÄ˳Ðò´íÎó¾Í½«Æä½»»»¹ýÀ´¡£Öظ´ÒÔÉϹý³ÌÖ±µ½Ã»ÓÐÐèÒª½»»»µÄÔªËØ£¬¼´±íʾÍê³ÉÅÅÐò¡£¸ÃËã·¨Ãû×ÖµÄÓÉÀ´ÊÇԽСµÄÔªËػᾭÓɽ»»»ÂýÂý¡¸¸¡¡¹µ½ÊýÁеĶ¥¶Ë¡£

Ëã·¨¸´ÔӶȣº

  • × O(n^2)
  • ×îºÃ O(n)
  • ƽ¾ù O(n^2)

½»»¥ÍøÒ³µØÖ·£ºhttps://www.toptal.com/developers/sorting-algorithms/bubble-sort

2. ²åÈëÅÅÐò

²åÈëÅÅÐòµÄ¹¤×÷Ô­ÀíÊÇͨ¹ý¹¹½¨ÓÐÐòÐòÁУ¬¶ÔÓÚδÅÅÐòÊý¾Ý£¬ÔÚÒÑÅÅÐòÐòÁÐÖдӺóÏòǰɨÃ裬ÕÒµ½ÏàӦλÖò¢²åÈë¡£²åÈëÅÅÐòÔÚʵÏÖÉÏͨ³£²ÉÓà in-place ÅÅÐò£¬Òò¶øÔÚ´ÓºóÏòǰɨÃè¹ý³ÌÖУ¬ÐèÒª·´¸´°ÑÒÑÅÅÐòÔªËØÖð²½ÏòºóŲλ£¬Îª×îÐÂÔªËØÌṩ²åÈë¿Õ¼ä¡£

Ëã·¨¸´ÔӶȣº

  • × O(n^2)
  • ×îºÃ O(n)
  • ƽ¾ù O(n^2)

½»»¥ÍøÒ³µØÖ·£ºhttps://www.toptal.com/developers/sorting-algorithms/insertion-sort

3. ¹é²¢ÅÅÐò

¹é²¢ÅÅÐòÊǽ¨Á¢Ôڹ鲢²Ù×÷ÉϵÄÒ»ÖÖÓÐЧµÄÅÅÐòËã·¨£¬ÓÉÔ¼º²¡¤·ë¡¤ÅµÒÁÂüÊ×´ÎÌá³ö¡£¸ÃËã·¨ÊDzÉÓ÷ÖÖ稵ÄÒ»¸ö·Ç³£µäÐ͵ÄÓ¦Óã¬ÇÒ¸÷²ã·ÖÖεݹé¿ÉÒÔͬʱ½øÐС£

Ëã·¨¸´ÔӶȣº

  • × O(n log n)
  • ×îºÃ O(n)
  • ƽ¾ù O(n)

½»»¥ÍøÒ³µØÖ·£ºhttps://www.toptal.com/developers/sorting-algorithms/merge-sort

4. ¿ìËÙÅÅÐò

¿ìËÙÅÅÐòËã·¨×îÔçÓɶ«Äᡤ»ô¶ûÌá³ö¡£Ê¹Ó÷ÖÖ稲ßÂÔ°ÑÒ»¸öÐòÁзÖΪ½ÏСºÍ½Ï´ó 2 ¸ö×ÓÐòÁУ¬È»ºóµÝ¹éµØÅÅÐòÁ½¸ö×ÓÐòÁС£

Ëã·¨¸´ÔӶȣº

  • × O(n^2)
  • ×îºÃ O(n log n) »ò O(n)?
  • ƽ¾ù O(n^2)

½»»¥ÍøÒ³µØÖ·£ºhttps://www.toptal.com/developers/sorting-algorithms/quick-sort

5. Ï£¶ûÅÅÐò

Ï£¶ûÅÅÐòÒ²³ÆµÝ¼õÔöÁ¿ÅÅÐòËã·¨£¬ÊDzåÈëÅÅÐòµÄÒ»ÖÖ¸ü¸ßЧµÄ¸Ä½ø°æ±¾£¬°´ÆäÉè¼ÆÕßÏ£¶û£¨Donald Shell£©µÄÃû×ÖÃüÃû£¬¸ÃËã·¨ÓÉ 1959 Ä깫²¼¡£Ï£¶ûÅÅÐòÊÇ·ÇÎȶ¨ÅÅÐòËã·¨¡£

Ëã·¨¸´ÔӶȣº

  • × O(nlog2 2n)
  • ×îºÃ O(n log n)
  • ƽ¾ù¸´ÔÓ¶ÈÈ¡¾öÓÚ²½³¤ÐòÁÐ

½»»¥ÍøÒ³µØÖ·£ºhttps://www.toptal.com/developers/sorting-algorithms/shell-sort

ËÑË÷Ëã·¨

1. ÏßÐÔËÑË÷Ëã·¨

ÏßÐÔËÑË÷Ò²³ÆΪ˳ÐòËÑË÷£¬ÆäʹÓÃÒ»¸öÑ­»·°´Ë³Ðò±éÀúÕû¸öÊý×飬½«Ã¿¸öÔªËØÓëÕýÔÚËÑË÷µÄÖµ½øÐбȽϣ¬²¢ÔÚÕÒµ½¸ÃÖµ»òÓöµ½Êý×éĩβʱֹͣ¡£

Ëã·¨ÌØÐÔ£º

  • ×Ëã·¨¸´ÔÓ¶È O(n)
  • ×îºÃËã·¨¸´ÔÓ¶È O(1)
  • ƽ¾ùËã·¨¸´ÔÓ¶È O(n)
  • ×¿Õ¼ä¸´ÔÓ¶È O(1)?

2. ¶þ·Ö²éÕÒËã·¨

¶þ·Ö²éÕÒËã·¨Ò²³ÆÕÛ°ëËÑË÷Ëã·¨¡¢¶ÔÊýËÑË÷Ëã·¨£¬ÊÇÒ»ÖÖÔÚÓÐÐòÊý×éÖвéÕÒijһÌض¨ÔªËصÄËÑË÷Ëã·¨¡£ËÑË÷¹ý³Ì´ÓÊý×éµÄÖмäÔªËØ¿ªÊ¼£¬Èç¹ûÖмäÔªËØÕýºÃÊÇÒª²éÕÒµÄÔªËØ£¬ÔòËÑË÷¹ý³Ì½áÊø£»Èç¹ûijһÌض¨ÔªËØ´óÓÚ»òÕßСÓÚÖмäÔªËØ£¬ÔòÔÚÊý×é´óÓÚ»òСÓÚÖмäÔªËصÄÄÇÒ»°ëÖвéÕÒ£¬¶øÇÒ¸ú¿ªÊ¼Ò»Ñù´ÓÖмäÔªËØ¿ªÊ¼±È½Ï¡£Èç¹ûÔÚijһ²½ÖèÊý×éΪ¿Õ£¬Ôò´ú±íÕÒ²»µ½¡£ÕâÖÖËÑË÷Ë㷨ÿһ´Î±È½Ï¶¼Ê¹ËÑË÷·¶Î§ËõСһ°ë¡£

  • Ëã·¨ÌØÐÔ£º
  • ×Ëã·¨¸´ÔÓ¶È O(log n)
  • ×îºÃËã·¨¸´ÔÓ¶È O(1)
  • ƽ¾ùËã·¨¸´ÔÓ¶È O(log n)
  • ×¿Õ¼ä¸´ÔÓ¶È O(1)

×÷Õß¼ò½é

¸ÃÏîÄ¿×÷ÕßÊÇλӡ¶È¼®¹¤³Ìʦ£¬¶Ô¼¼Êõ¿ª·¢·Ç³£³ÕÃÔ£¬²¢Ì¹ÑÔ×Ô¼ºÊÇÒ»¸ö·Ç³£ÓС¸ÐÛÐÄ׳־¡¹µÄС»ï£¬Ö®ºóÏë³ÉΪһÃûÆóÒµ¼Ò¡£´Ó¼¼Êõ½Ç¶È¿´£¬×÷Õ߶ÔÈ«Õ»¿ª·¢¡¢android ¿ª·¢¡¢Éî¶ÈѧϰÒÔ¼°Çø¿éÁ´µÈ¼¼Êõ¶¼ºÜ¸ÐÐËȤ¡£Ä¿Ç°£¬ËûÒѾ­ÔÚ 3 ¼Ò´´Òµ¹«Ë¾¹¤×÷¹ý£¬²¢ÔÚ¿ª·¢ÁìÓò»ýÀÛÁË 2 ÄêµÄ¾­Ñé¡£

´Ó¹ýÍù¾­ÀúÀ´¿´£¬Ó¡¶ÈС¸çµÄ¹¤×÷¾­Àú»¹ÊǺܡ¸·á¸»¶à²Ê¡¹µÄ£¬´Ó¿ªÊ¼½«×Ô¼º¶¨Î»ÎªÈí¼þ¹¤³Ìʦ£¬µ½Ä¿Ç°ÔÚ Gojek ÈÎÖ°²úÆ·¹¤³Ìʦ¡£

Gojek ÊÇÓ¡¶ÈÄáÎ÷ÑǵÚÒ»¼Ò¶À½ÇÊÞ¹«Ë¾£¬ÓÚ 2010 ÄêÔÚÓ¡¶ÈÄáÎ÷ÑdzÉÁ¢¡£ÎÒÃÇ¿ÉÒÔ½«Õâ¼Ò¹«Ë¾Àí½âΪºô½ÐÖÐÐÄ£¬½«Ïû·ÑÕßÓë¿ìµÝºÍÁ½Âֽгµ·þÎñÁ¬½ÓÆðÀ´¡£¸Ã¹«Ë¾Í¬Ê±ÔÚÓ¡¶ÈÄáÎ÷ÑÇ¡¢Ô½ÄÏ¡¢Ð¼ÓÆ¡¢Ì©¹úºÍ·ÆÂɱö¶¼Óв»ÉÙµÄÒµÎñ·¢Õ¹¡£

  • ·¢±íÓÚ:
  • Ô­ÎÄÁ´½Ó£ºhttp://news.51cto.com/art/202005/617553.htm
  • ÈçÓÐÇÖȨ£¬ÇëÁªÏµ cloudcommunity@tencent.com ɾ³ý¡£

ɨÂë

Ìí¼ÓÕ¾³¤ ½ø½»Á÷Ⱥ

ÁìȡרÊô 10ÔªÎÞÃż÷ȯ

˽Ïí×îР¼¼Êõ¸É»õ

ɨÂë¼ÓÈ뿪·¢ÕßÉçȺ
Áìȯ
http://www.vxiaotou.com