算法

Awesome Algorithms

精选的很棒的地方来学习和/或练习算法. 受启发 awesome-awesomeness 以及所有其他出色的Awesome库.

如果您想贡献,请阅读 contribution guidelines.

Websites

您应该用来学习经典算法的网站

Online Courses

免费和高质量的在线课程

Books

最受推崇的学习算法的书

Cheat Sheets

Github Libraries

以多种编程语言实现最经典的算法

Online Judges

在线裁判练习您在上面学到的东西

  • A2 Online Judge -在线法官和问题档案.
  • ACM-ICPC Live Archive -以前的ACM-ICPC地区和世界总决赛带来的数百个问题.
  • AIZU ONLINE JUDGE -日本在线法官.
  • Algo Muse -基于研究的算法问题.
  • AtCoder -日本编程比赛网站.
  • Baekjoon Online Judge -韩国在线法官. 超过10000个问题. 支持60多种语言.
  • CS Academy -举办在线竞赛和IOI实践竞赛
  • CodeChef -更多问题和每月在线竞赛.
  • Codeforces -唯一的竞赛Web 2.0平台
  • Codefights -主动编程并解决您的下一次技术面试
  • CodeMarshal -现实世界在线竞赛!
  • CodeWars -提供支持以多种难度解决多种语言算法的网站.
  • CoderByte -一个不错的网站,从初学者到高级都面临算法挑战. 支持大多数流行的语言,例如C ++,python,javascript,ruby.
  • Firecode -Firecode.io使用机器学习算法以及精选的真实世界面试问题,解决方案和充满活力的学习者社交社区,为您的下一次编码面试做好准备.
  • Coding Blocks -基于数学,数据结构,各种算法存在问题的网站,并且进行编码竞赛.
  • HackerEarth -练习算法问题和挑战,并参与招聘挑战.
  • HackerRank -特色算法和功能编程在线评委
  • HiHoCoder -中英文问题解决实践和招聘挑战网站.
  • Infoarena -罗马尼亚在线法官. 1500多个算法问题
  • Interviewbit -学习,练习和准备面试.
  • Kattis-在线法官和问题档案
  • LavidaOnlineJudge -韩国在线法官(半英语). 1300多个问题.
  • Learneroo Algorithms Tutorials -通过在线解决挑战来学习和练习算法.
  • LeetCode -学习算法并准备面试.
  • PKU JudgeOnline -中国在线法官.
  • ProjectEuler -可以使用算法解决的数学问题(或者只是一支铅笔,取决于您已经知道的多少).
  • Rosalind -通过解决问题学习生物信息学和程序设计的平台.
  • ShareCode.io -在线裁判和竞赛主持人要解决存档中很多算法问题.
  • Snakify -具有100多种算法问题和逐步调试器的Python入门课程(来自俄罗斯).
  • SPOJ -更多问题.
  • TopCoder -图形设计,数据科学和开发中的许多问题和现实世界/物有所值的问题.
  • URI -巴西在线法官. 问题不多,但它正在增长,并且有在线竞赛.
  • UVA -数百个问题(来自以前的ACM-ICPC地区,世界总决赛及其他).

Blogs

很棒的博客列表,主要用于竞争性编程,但是在学习新主题/算法时可以参考这些博客

Tools

一些可以帮助您学习算法的工具

License

为了版权左起,这是我们的许可证:

Creative Commons License

这项工作是根据 Creative Commons Attribution 4.0 International License.