推荐一些有梯度的刷题 code 的网站,这些网站按照入门-简单-中等-困难的顺序进行刷题,最主要是这些网站都是免费的。当然,国内还有很多高校建立的题库或者竞赛题库,后期再进行更新。
基础型
- Programming by Doing:题目超级基础,非常适合小白。
- C 语言网:非常简单非常适合入门,全中文,界面简单,每个题有很多题解参考,适合个人提升编程水平参加。
进阶型
竞赛型
- Codechef:此网站提供多种难度的编程题,难度从入门、简单、中等到挑战都有。
- Codeforces:此网站有各种各样的题目和各种各样的比赛,用户可以阅读上面的题目,写出相应的代码并提交。
补充型
- VISUAL GO:一个数据结构和算法动态可视化的网站。有排序、链表、哈希表、图等基础内容,还有并查集、线段树、后缀树等进阶内容。
- Data Structure Visualizations:数据结构与算法可视化学习网站,通过这个网站可以很清晰地看到整个算法的运行过程。
- algorithm-visualizer:一个讲解各种算法的网站,支持各种代码的,包括js,java和c++,有动画的演示,而且控制台会输出整个执行过程。
- Vamonos:有常用的数据结构与算法的演示:栈、队列、二叉树、红黑树、B树、拓扑排序、广度优先算法。
- BinaryTreeGraph:平衡树可视化网站,有二叉树、AVL树、红黑树、二叉堆的演示。
- btree-js & BinaryTreeVisualiser:专门演示B树的网站,可以在上面插入自定义的数据来模拟B树的构建过程。
- Bigocheatsheet:常用算法的时空Big-O复杂性。
- Algorithms-DataStructures-BigONotation:查看算法分析的网站。这个网站上有数据结构和算法的基础知识,如复杂性如何判断,Java中的ArrayList、Set、Map是用数据结构如何实现的。