本文全面概述了《免费编程书籍》存储库中可用的习题集和竞技编程资源。它涵盖了程序员可以练习编程技能、准备技术面试、参加编程比赛以及解决算法挑战的各种平台和网站。有关交互式学习环境的信息,请参阅交互式教程或编程演练场。
习题集和竞技编程部分分为六个主要类别,每个类别都为寻求提高实践技能的程序员服务于不同的目的。
资源类别分布
来源:more/problem-sets-competitive-programming.md1-9
竞技编程平台专注于在时间和内存限制下解决算法问题。这些平台定期举办比赛,并保留过去的习题存档供练习。
竞技编程部分more/problem-sets-competitive-programming.md11-54包括 44 个不同的平台和资源,涵盖从竞赛网站到算法参考和练习环境的范围。
主要平台包括
| 平台 | 重点 | 显著特点 |
|---|---|---|
| Codeforces | 定期竞赛 | 基于分级的竞赛系统 |
| LeetCode | 技术面试 | 公司特定习题集 |
| AtCoder | 日本竞赛 | 高质量算法问题 |
| CSES 习题集 | 综合练习 | 算法导向习题路径 |
| Codingame | 游戏化挑战 | 解决方案的视觉反馈 |
| USACO.guide | 学习资源 | 结构化竞技编程课程 |
来源:more/problem-sets-competitive-programming.md11-54
CTF 竞赛侧重于网络安全挑战,参与者必须通过解决安全难题来找到隐藏的“旗帜”。这些资源有助于培养密码学、逆向工程、Web 漏洞利用和取证等领域的技能。
该存储库列出了 19 个 CTF 资源more/problem-sets-competitive-programming.md57-75,涵盖了网络安全的不同方面,其中一些需要注册(用“需要/要求提供电子邮件地址”的说明表示)。
来源:more/problem-sets-competitive-programming.md57-75
数据科学竞赛要求参与者为实际问题开发机器学习模型和分析解决方案,通常为表现最佳者提供奖品。
该存储库列出了 6 个平台more/problem-sets-competitive-programming.md78-85供数据科学家参与竞赛
| 平台 | 重点 |
|---|---|
| Kaggle | 提供数据集的多元化竞赛 |
| DrivenData | 社会影响问题 |
| AIcrowd | 研究挑战 |
| CodaLab | 开源竞赛平台 |
| CrowdANALYTIX | 商业分析挑战 |
| Zindi | 专注于非洲的数据科学竞赛 |
来源:more/problem-sets-competitive-programming.md78-85
对于前端开发人员,该存储库包含了专门针对 HTML 和 CSS 实现挑战的资源。目前,它列出了 Frontend Mentor more/problem-sets-competitive-programming.md88-90,它提供了不同难度级别的设计到代码挑战。
来源:more/problem-sets-competitive-programming.md88-90
进阶路径为算法问题解决提供了结构化的渐进式学习路径,通常按难度组织问题,帮助用户系统地提高。
进阶路径资源more/problem-sets-competitive-programming.md93-100通过提供结构化的练习路径,帮助用户在不同平台上解决海量的难题。
来源:more/problem-sets-competitive-programming.md93-100
习题集部分是最大的类别,包含 53 种不同的资源more/problem-sets-competitive-programming.md103-157,用于一般编程练习。这些资源包括:
主要习题集资源类型包括
面试准备:LeetCode、InterviewBit 和 NeetCode 等平台专注于技术面试中常见的问题。
通用练习:Project Euler、HackerRank 和 Exercism 等网站提供各种问题,以提高一般技能。
算法重点:CSES 习题集和 Coding Ninjas Guided Paths 等资源为数据结构和算法提供专门练习。
基于挑战的学习:像 Advent of Code 这样的限时挑战提供难度逐渐增加的季节性习题集。
来源:more/problem-sets-competitive-programming.md103-157
这些问题解决资源补充了存储库中的其他教育材料,为从书籍和课程中获得的理论知识提供了实际应用的机会。
习题集和竞技编程资源作为理论学习材料的实用补充,帮助用户培养
来源:more/problem-sets-competitive-programming.md
虽然大多数编程练习平台是语言无关的(允许使用多种语言编写解决方案),但有些资源专门针对特定语言或框架。例如,在乌尔都语课程部分,有一些算法特定的课程补充了这些练习平台
这些特定语言资源可以提供情境化学习,将理论概念与特定编程语言的实际实现联系起来。
来源:courses/free-courses-ur.md17 more/problem-sets-competitive-programming.md
刷新此 Wiki
最后索引时间2025年4月17日(a0ff9b)