C++学习指南:信奥科普篇

发表时间: 2023-02-02 09:21

春节假期已过数天,【小编程家】现开工大吉!最近,有家长咨询学好C++有什么方法?

下面,我们一起来聊聊如何学好C++。

C++作为编程中的明星语言,完全兼容C语言,可以使用标准模板库,极大方便程序设计。在竞赛中使用C++语言,不需要选手学完C++语言的全部,一些较难的内容并不学习,适合青少年学生。因此,信息学竞赛将C++作为官方唯一指定编程语言。

但是,不可否认的是,C++是一门难学的编程语言,尤其是对竞赛重点——算法和数据结构。


学好语法


算法和C++是两个东西,算法是核心,c++是工具。

学算法之前需要掌握好C++语法了解基础的变量、常量、关键字、数据类型、运算符、数组、函数、指针、结构体外,还要学习 C++ 的面向对象编程思想、命名空间 namespace、引用、函数扩展、类的封装、构造和析构、继承、多态、异常处理等内容。


算法和数据结构学习


入门组需掌握枚举、贪心、查找、图论、搜索、分治、动态规划、并查集等。

提高组至省选需掌握二分图判定、KMP算法、RMQ问题、treap、AC自动机等。

以下为NOI大纲(点击蓝字查看)算法与数据结构目录:

注重实践

实践包括撸码,就是要多练,自己多写,然后多观摩,多模仿,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。

还包括"多画",要边学习边画图。因为对于数据结构中的存储结构来说,尤其是树结构和图结构,存储结构确实比较复杂,仅靠空间想象难免会有披露,而通过亲手画图往往能避免很多“坑”。

把数据结构图形化,视觉化。在直觉上感受一个数据结构是什么样子的。使用它是什么感觉,抽象上和具体实现上是什么样子的。这就是最重要的事情。并且无论是对于简单的队列、栈还是平衡树都很重要而且有效。把数据结构画出来,在你的脑袋瓜里面就能想象出来,总之,你需要做的就是,直观的去了解这些数据结构。


书籍推荐

1、《CCF中学生计算机程序设计(入门篇)》

难度系数:1

使用语言:C++

适宜阅读:四年级

初学入门很好的教材,价格便宜,文字严谨


2、《CCF中学生计算机程序设计(基础篇)》


难度系数:2

使用语言:C++

适宜阅读:四年级

先看入门篇,看完之后可以看基础篇或者信息学奥赛一本通


3、《啊哈!算法》

难度系数:4
使用语言:C++
适宜阅读:四年级--初一
《啊哈!算法》是一本有趣,能轻松看懂的算法书


4、《信息学奥林匹克竞赛初赛精讲精练》

难度系数:2-4

使用语言:C++

适宜阅读:初一--高二

小编程家自研初赛辅导教材,初赛备考推荐,侧重于针对性练习