/awesome-algorithm-cn

精选了一系列很棒的学习或者练习算法的网址、项目等,受到 awesome-awesomeness 以及其他 awesome 系列项目的启发。

MIT LicenseMIT

awesome-algorithm-cn

精选了一系列很棒的学习或者练习算法的网址、项目等,受到 awesome-awesomeness 以及其他 awesome 系列项目的启发。

网站

一些你可以用来学习经典算法的网站。

  • A Visual Guide to Graph Traversal Algorithms - 一个交互式可视化学习图遍历算法的网站。

  • W3School - 完善的数据结构和算法的教程,相关代码很详细。

  • Algorithm Visualizer - 数十种动画算法(带有代码),你还可以创建自己的动画算法。

  • Algorithms Visualization - 关于算法可视化的一些文章。

  • Big-O Cheat Sheet - 涵盖了计算机科学领域通用算法的大 O 复杂度。

  • Code-Drills - 算法问题推荐(包括 Codeforces, Codechef 和 Spoj 平台)。

  • CP-Algorithms - 介绍在计算机领域流行的算法与数据结构的网站。

  • Data Structure Visualizations - 以动画展示你对一些数据结构的操作的网站。

  • Geeks for Geeks - 包含大量解释详细并且完全实现的算法。

  • Path Finding - 可视化展示一些图论算法,比如 A,IDA,BFS 等等。

  • Programiz - 易于学习的数据结构和算法教程,配有完善的代码示例。

  • Rosetta Code - 一个编程主题站点,旨在以不同的编程语言介绍许多算法和数据结构的实现。

  • Sorting Algorithms - 简洁易懂的排序算法动画,附有代码和评论。

  • Stoimen's web log - 包含一些解释得很棒的算法。

  • The Sound of Sorting - 排序算法的声音,在听觉和视觉上感受排序算法。

  • VisuAlgo - 通过动画将数据结构和算法可视化展示。

  • Learnersbucket - 使用 JavaScript 实现的数据结构和算法教程。

  • redblobgames - 交互可视化的算法解释,使用电脑游戏当中的一些例子。

在线课程

一些免费并且高质量的在线课程。

书籍

学习算法的一些常见书籍。

算法和数据结构

英文

中文

  • 算法·第四版 - 算法领域的经典书籍,涵盖每位程序员应知应会的 50 种算法。
  • 算法导论 - 经典算法书籍,内容丰富、结构合理、逻辑清晰。
  • 大话数据结构 - 以趣味的方式叙述数据结构,并引用了各种生活知识来类比。
  • 啊哈!算法 - 一本充满智慧和趣味的算法入门书。
  • 算法图解 - 示例丰富,图文并茂,以让人容易理解的方式阐释了算法。

备忘单

Github 仓库

一些使用各种编程语言实现算法的仓库。

C

  • c-algorithms by @fragglet,一些使用 C 语言实现的常用数据结构及算法。
  • TheAlgorithms/C by @TheAlgorithms,The Algorithms 系列的 C 语言实现。

C++

C#

Erlang

Go

Java

JavaScript

Lua

Objective-C

Python

Ruby

Scala

Swift

语言无关(或多语言)

在线评审

可以从这些网站中练习你学习到的相关知识。

工具