☘前言☘
从今天开始我会开个坑,每天一更,作为算法笔记这本书的知识点记录和总结,以及发出对应的习题,方便大家一起学习。
- 欢迎大家加入我的打卡队列,如果你刷完了对你有帮助请你评论一个打卡。
欢迎大家一键三连0.0
🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人
✨联系方式:2201891280(QQ)
📔源码地址:https://gitee.com/xingleigao/algorithm-notes
⏳全文大约阅读时间: 20min
📜1.专栏目录与介绍
🏹1.1 专栏介绍
这个专栏作主要是对平时看的某本书的知识点提炼与总结。然后配合相关的练习题。帮助大家快速提升coding能力。
和我一起快速成长
!
🏹1.2 专栏目录
这个地方我打算作为以后文章更新的目录,方便大家查找知识点。
C/C++快速入门
入门篇1—入门模拟
入门篇2—算法初步
入门篇3—数学问题
C++标准模板库介绍(stl)
提高篇1—数据结构专题1
提高篇2—搜索专题
提高篇3—数据结构专题2
提高篇4—图算法专题
提高篇5—动态规划专题
提高篇6—字符串专题
专题扩展—分块思想
🔧2.编程语言选择与环境搭建
🔑2.1 编程语言的选择
由于这个专栏是针对算法竞赛开设,所以保证效率显得尤为重要。在可供选择的语言中有C、C++是效率相对较高的。
但是考虑到C++向下兼容C,并且C++中有些特性和功能特别好用,所以混用C和C++语法来学习。
🔑2.2编程环境的搭建
因为这本书本来的目的是PAT和CCF,面对考场的编译器,一般来说有VC6.0、VS系列、Dev-C++、C-Free、Code::Blocks、Eclipse等。
由于我们上面说的我们一半使用C/C++编程,所以Dev-C++ 和Code::Blocks都是不错的选择。
非常不建议大家用vs、这种重型编译器是项目制的,每次编程都得新建一个文件夹,极其不利于我们写算法题!!!
- 我这里力推
VScode
,但是考虑到初始环境配置有些复杂,给大家提供了Code::Blocks的安装包。安装完直接下一步到最后打开就行了,自带编译器非常方便
🧇3.在线评测系统(OJ)
🧊OJ介绍
在各类考试中,判断程序写的对不对,需要借助在线评测系统(Online Judge,OJ)。可以看上图、一般包含题目描述输入输出和提交按钮。
不是所有题都是英文,别害怕0.0 但是学好英语更好
OJ会根据数据集来判断正确还是错误,并不是样例通过就会通过,会有多个测试点。一定要注意数据范围,一半过不了会卡数据0.0
🧊OJ推荐
🥞常见的评测结果
🍧 1. 答案正确(Accepted, AC)
恭喜你,完成了这道题,是最开心的时刻0.0
🥙 2. 编译错误(Compile Error, CE)
如果代码没有通过编译,那么会返回这个错误。主要考虑是否是选错了语言。
🍬 3. 答案错误(Wrong Answer, WA)
答案错误是比较懊恼的结果,一般说明算法错误或者更常见一些的是:输出格式是否符合要求。
🍟 4. 运行超时(Time Limit Exceeded, TLE)
运行超时也很常见,主要问题就是时间复杂度过高,优化算法结构。当然也可能出现了死循环。
🥐 5. 运行错误(Runtime Error, RE)
常见的错误有很多
- 段错误(内存的非法访问)
- 浮点错误、递归爆栈
🧀 6. 内存超限(Memory Limit Exceeded, MLE)
内存空间过大,需要优化内存空间的利用。
🍛 7. 格式错误(Presentation Error, PE)
多数是因为空格或者空行的问题。
🥣 8. 输出超限(Output Limit Exceeded, OLE)
如果输出了过量的信息就会这样,所以应该是输出了过量的信息,一般是输出了大量的调试信息导致的。
🥫写在最后
从明天开始,我会开始更新这个系列,希望大家可以和我一起学习呀,年薪百万开始0.0