学习编程推荐软件,网站
做题网站
学习除了看书,听课之外,还需要实践和训练。你可以选择各大平台和各高校OJ网站,刷题来提升自己。
首推 CodeForces 简称 CF
https://codeforces.com/
CodeForces 平台有很多英文题目,每隔一段时间就会举办一两场比赛。比赛分等级(Div.1, Div.2, Div.3)
,难度递减,并且需要达到对应等级才能参加。完成比赛后会根据你的得分排名情况,给你的账号加上 Rating 分,Rating 分越高,等级越高。等级会在排行榜显示,并且随着等级提升,名字颜色还会改变。目前网站 Rating 分最高是 Benq(3790)
,是网站记录保持者,过去是 tourist。都是大名人,大佬
然后就是 Virtual Judge 简称 VJ
https://vjudge.net/
Virtual Judge 平台整合了其他的很多平台的题目,并且可以直接提交到对应平台的 OJ 上。平台上还有各类专题,帮助训练。
这里推荐一个 VJ 专题:kuangbin带你飞
https://vjudge.net/article/187
洛谷 适合初学者
https://www.luogu.com.cn/
洛谷平台适合编程初学者去学基础算法,洛谷有多种题单,官方提单和非官方提单,可以充分的对单个算法进行训练。并且洛谷自带题解,每一题都有其他用户总结出的详细题解,可以帮助训练。
牛客竞赛 适合初学者打比赛
https://www.nowcoder.com/
点击上方的 发现 -> 竞赛
牛客竞赛平台会经常举办各类比赛,有牛客官方举办的小白训练赛,还有高校举办的比赛等等。初学者可报名这些比赛,并参加比赛。感受学习期间的收获,以及查缺补漏。
LeetCode
https://leetcode-cn.com/
作者 LeetCode 使用较少,不做评价。LeetCode 上有在线编译程序,还有题库可供使用。
各大高校OJ
POJ北京大学、HDU杭州电子科技大学、ZJU浙江大学、HUST华中科技大学、UVA 等等
POJ http://poj.org/
HDU https://acm.dingbacode.com/
ZJU http://acm.zju.edu.cn/home/
HUST http://hustoj.com/oj/
UVA https://onlinejudge.org/
注意:
POJ 判断系统不支持c++11
。
UVA 因为在国外,并且系统太老,访问比较慢,建议自己想办法。
学习、查询网站
首推 CSDN 博客网站
https://blog.csdn.net/
有着大量的用户群体,因此有着大量的博客,涉及各个方面的博客都有,但有时内容参差不齐,需要自己甄别。
OI-Wiki
https://oi-wiki.org/
OI Wiki 致力于成为一个免费开放且持续更新的 编程竞赛 (competitive programming) 知识整合站点,大家可以在这里获取与竞赛相关的、有趣又实用的知识。我们为大家准备了竞赛中的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速深入地学习编程竞赛中涉及到的知识。
上述描述来自 OI-Wiki 官网
Bilibili 视频弹幕网站
https://www.bilibili.com/
B站人才多多,懂得都懂。上面有很多的视频课程可供观看学习。但是要注意别分心哦!
各类辅助网站
Ubuntu Pastebin 代码分享网站
https://paste.ubuntu.com/
你可以在该网站上分享自己的代码,并且产生一个网址,之后你可以将网址发给其他人,其他人可以直接看到你的代码,并且可以复制粘贴。
该网站优点在于,整合了图片的高亮显示,以及文字的复制粘贴功能。所以下次就请不要在复制一大串代码或者发一张图片了吧。小心挨打。
ioDraw 免费在线画图网站
https://www.iodraw.com/
可以画各种图,流程图、UML图等等,甚至可以画平面设计图,画图时还有各种模板供你选择。画好之后也可以直接保存成各种文件。
CS Academy 集成平台
https://csacademy.com/
该网站是个刷题网站,但是作者觉得它的刷题作用远不及他的在线程序功能强大,有用。
图论绘图
弥补了 ioDraw 平台很难画无向图或者有向图的痛苦。
程序有各种模式
Force(拖拽模式)
,该模式下你可以拖拽节点,放手后节点恢复稳定状态。
Draw(绘图模式)
,该模式下你可以通过点击来直接绘制图像。
Edit(标签模式)
,该模式下你可以通过点击来更改节点的标签和边的权值。
Delete(删除模式)
,该模式下你可以通过点击来删除节点和边。
Config(配置模式)
,该模式下你可以修改显示等设置。
页面左侧输入框可以直接修改节点,边的数据
0 //表示增加一个编号为 0 的节点
0 1 //表示连接编号为 0 1 的两个节点
0 1 1 //表示连接 0 1 的边的权值为 1
几何绘制
在坐标图绘制各种图形
比较工具
比较两侧文档的差异。
显示绿色表示新增,红色表示删除,黄色表示相同,蓝色表示修改
在线代码编辑器
在线代码编辑器,LeetCode 上面也有。而且这个功能好像有点问题。不太好用。
编程软件
Dev C++
软件很好用但是不更新了,现在只是用户自发更新。
Virtual Studio
适合大型项目开发,也用于学生编程,想下载可以去 VS 官网下载最新版本,或者寻找其他低版本资源。
Virtual Studio Code
安装时比较麻烦,但是解决安装问题之后,比 VS 小巧,还有各种插件、设置可以选择。但是 DeBug 没有 VS 使用起来舒服。
作者现在在使用 VS Code。
博客软件
Typora
很好用的一款编写 blog 的软件,可以直接预览 blog 的页面,也可以通过快捷键或者特殊字符修改 blog 的格式,当然也有Markdown编译器 最经典的源代码模式。
作者的 blog 全是通过 Typora 这个软件写的。