戳一戳!和我一起走进信息学的世界

导读

信息学赛培班即将拉开帷幕,信息学赛培班老师有什么话要对家长和孩子说?赛培班学什么?知识难度怎么样?怎么学?信息学赛培班大揭秘,让你对未来内容把握更清晰!




往期回顾

【NOIP竞赛/CSP认证】

▶  赛前必看!信息学名师带你复习NOIP竞赛初赛及CSP认证初赛


【信息学精华帖】

▶  收藏!交流会内容全公开,让你陪孩子更好地学习信息学

▶  信息学的万般好处!附C++必备基础知识总结

▶  信息学提高班知识体系详解与家长常见问题解答!让孩子赢在提高班学习的起跑线!

▶  再回首,最全提高班知识总结,做更优秀的自己!

▶  早知道!信息学集训班大揭秘!你想知道的的都在这!


信息学集训

▶  01 温故知新,以更好状态学习数据结构和算法

▶  02 信息学初赛必备计算机知识大串讲

▶  03 位运算与进制初步

▶  04 进制进阶与编码

▶  05 字符串进阶操作

▶  06 栈理论与实战

▶  07 队列理论与实战

▶  08 栈与队列实战

▶  09 算法及其复杂度

▶  10 经典排序算法思想精讲1

▶  11 经典排序算法思想精讲2

▶  12 排序算法分析与sort函数详解

▶  13 枚举算法理论与实战

▶  14 贪心算法理论与实战

▶  15 分治算法理论与实战

▶  16 高精度算法理论与实现1

▶  17 高精度算法理论与实现2


【数据结构前导课】

▶  1 温故知新——一篇文章领略信息学C++知识结构

▶  2 披荆斩棘——只学C++,可以做哪些竞赛题

▶  3 运筹帷幄——一篇文章,让指针学起来也很简单!

▶  4 初试锋芒——顺序表写起来也很简单

▶  5 小试牛刀——STL库之vector数组

▶  6 触类旁通——链表基本理论与信息学竞赛必考点

▶  7 更进一步——STL库之List链表

▶  8 知“人”善任——深入理解顺序表和链表的区别与应用


【C++提高班教程】

▶  C++强化 | 01 新学期再出发!温故知新!

▶  C++强化 | 02 继续前行,三大结构终极介绍

▶  C++强化 | 03 一维数组入门

▶  C++强化 | 04 数组越界

▶  C++强化 | 05 一维数组经典应用

▶  C++强化 | 06 一篇文章带你掌握字符数组

▶  C++强化 | 07 二维数组

▶  C++强化 | 08 二维数组经典案例

▶  C++强化 | 09 一篇文章带你探索函数的奥秘

▶  C++强化 | 10 函数进阶必备

▶  C++强化 | 11 这样学递归,才不会觉得难

▶  C++强化 | 12 格式化输入输出与文件操作

▶  ​​C++强化 | 13 结构体入门

  ​​C++强化 | 14 结构体进阶


【C++基础班教程】

▶  C++总结 | 01 程序的世界

▶  C++总结 | 02 输出、换行与注释

▶  ​C++总结 | 03 变量定义、赋值与运算​

▶  ​C++总结 | 04 算术运算符与赋值运算符​

▶  ​C++总结 | 05 cin语句​

▶  ​C++总结 | 06 程序中的数据类型​

▶  ​C++总结 | 07 数据类型补充​

▶  ​C++总结 | 08 顺序结构​

▶  ​C++总结 | 09 if 和 if-else​

▶  C++总结 | 10 if嵌套与逻辑运算符

▶  C++总结 | 11 开关语句switch-case

▶  C++总结 | 12 for循环及其应用

▶  C++总结 | 13 数据范围与数据类型

▶  C++总结 | 14 break与continue

▶  C++总结 | 15 while与do-while

▶  C++总结 | 16 循环嵌套及其应用



1 回顾

我们一起走过将近一年的信息学学习时光,在这一年中,我们学习了很多知识,在走进新一期课程之前,我们先来回顾一下我们学过的知识。

1 C++与信息学必备基础

我们前两期课着重学习了C++的所有基础知识,具体包括:


1、变量与输入输出
2、运算符与表达式
3、顺序结构
4、分支结构:if系列判断语句,switch-case开关语句
5、循环结构:for、while、do-while
6、break和continue
7、数组
8、函数
9、结构体
10、文件操作
11、指针


寒假课和第三期课程的前半部分,我们学习了信息学必备基础,这些基础会在信息学竞赛初赛中以选择题的形式考查,重点有如下几个方面:


1、信息学与计算机基本理论
2、进制
3、编码


上述这些知识,主要出现在初赛中,当然,C++会和后面的数据结构和算法结合,贯穿整个竞赛。而单独的C++作为程序设计部分,和信息学必备基础是信息学竞赛初赛中,最简单的三个部分,老师之前有做过总结:


1、信息学与计算机基本理论
2、进制、编码、逻辑
3、程序设计


这些内容难度不大,需要我们细心认真学习,需要我们不断积累。

2 数据结构与算法基础

数据结构和算法可以看做是更加深入的C++,相当于C++程序的一些科学的指导法则。通过这些指导法则,我们可以设计更加合理的程序。


数据结构强调的是数据和数据之间的关系,包括逻辑关系和存储关系。逻辑关系指的就是下面四种:


1、集合
2、一对一(线性结构):顺序表、链表、栈、队列、字符串、数组、矩阵
3、一对多(树型结构)
4、多对多(图状或网状结构)


存储关系指的是下面四种:


1、顺序存储
2、链式存储
3、索引存储
4、散列存储


在信息学中,考虑最多的是逻辑关系,存储关系是我们在代码实现过程中考虑的,最常用的是顺序存储,一般链式存储,也是采用数组去模拟,真正在信息学竞赛中很少会真正实现链式结构。


算法强调的是几段代码的思想。也就是说,算法重要的是思想,不同的算法有不同的思想,也就是有不同的策略,这些策略适合不同的题目。我们目前学到的算法都是简单的基础的算法,他们的思想也很简单,我们目前学习了如下算法:




1、排序算法
2、枚举算法
3、贪心算法
4、分治算法
5、高精度算法


我们也学了有关于算法的一些概念,包括:


1、算法的特性
(1)有穷性
(2)确定性
(3)可行性
(4)输入
(5)输出
2、算法的评价指标
(1)时间复杂度
(2)空间复杂度
(3)稳定性(针对排序算法)


2 说给家长和孩子听

在讲后面的知识体系之前,我想先和家长和同学们说几句话!

1 说给家长

我们首先要认识自己的孩子。


学到目前阶段的孩子,基本上都是从5年级到初二的孩子,这个时期的孩子慢慢走进青春期,慢慢强调自我意识。但是这个时期的大多数孩子,没有完整的经验,没经历过较大的人生挫折,并且很少有孩子会有意识说自己特别喜欢某样东西并愿意为之奋斗。他们大多数,更喜欢做的,是让自己舒服,让自己轻松的事。他们很少会站在特别高的高度去审视自己学习的知识的重要性。


这不是我们的孩子不优秀。这是这个年龄段大多数孩子共有的特征。


而我们家长的期望呢?


我希望我的孩子能主动学习
我希望我的孩子能不要偷懒
……


也就是说我们的期望和孩子的现实是有差距的,并且差距是特别大的。


所以,我们要先从认识自己的孩子做起,父母是孩子最好的老师,父母是最了解自己孩子的老师,对待孩子的各项情况,父母应该是最有发言权的。所以我们也最懂孩子适合什么。我们也要知道孩子做什么是最正确的。


那我们说回到信息学上来。


很多家长刚开始学信息学,并不知道信息学是否适合自己的孩子,只有经历过,试了才知道。信息学既然成为竞赛,而不是简单的文化课,和另外四门学科竞赛(数学、物理、化学、生物)一样,都需要极强的逻辑能力,需要极大的意志力。和数学一样,需要极好的数学基础。这样才能保证能在信息学中取得骄人的成绩。


但是最终能走进国家队,能在世界信息学舞台上绽放光芒的也就那么几个人。所以,在学习的过程中,我们要先于孩子去思考,我们让孩子学习信息学的目的是几点?


这就是我想强调的第二点,我们让孩子学习信息学的目的是什么?


我想,如果不是孩子真的走到国赛甚至是世界比赛的地步,很多家长刚开始的目标应该不是让孩子获得世界级奖项。可能是看其他家长学,也想让自己孩子试试,万一孩子能学进去呢?可能是想把信息学当成是孩子考上高中,考上大学的手段。通过自招考试,能够多一条路去更好地学校。可能是孩子自己接触到了,想了解一下,家长愿意让孩子去尝试。


每种想法都有自己的道理和意义。但是我想说的是,信息学能给孩子们带来什么价值


前面说的,都是信息学外在的价值。但我觉得最重要的,是信息学内在的价值。我总结几条很重要的:


让学生意识到数学的重要价值
锻炼学生的逻辑思维能力
锻炼学生的抗挫折能力
锻炼学生的耐心,磨练学生的心性
锻炼学生的全局观
……


信息学是“真刀真枪的干”,需要不断地调试,不断地思考,不断地纠错。这个过程是痛苦的,但是得到一个非常完美的解的结果是很爽的!孩子们能锻炼得到的就是这个过程中想尽一切办法不断攻坚克难直到取得胜利的全部能力。如果孩子们能够养成这种优秀的习惯,孩子将对未来人生道路上的任何问题无所畏惧,都能想尽一切办法完美解决。这需要极强的意志力,需要极稳的心态。


大多数孩子是很难坚持过这个痛苦的阶段的,虽然他们很享受胜利的喜悦,但是当他们在写代码的过程中“屡试屡挫”的时候,他们会渐渐丧失信心,他们可能会更容易迷上游戏。


所以我第三点要说的就是,当孩子走到这个阶段,其实是要我们家长陪伴的,陪伴孩子走过这段艰难的路,监督孩子不能遇到困难就退缩


总结一下:


1、懂我们自己的孩子!
2、明白我们的孩子适合成为什么样的人以及为什么要成为这样的人?
3、陪伴帮助我们的孩子成为这样的人!


2 说给孩子

在信息学的道路上能走多久,看的是我们自己。父母为我们提供平台,老师给我们讲授知识。但是我们真正能学到多少,能学以致用多少,是别人给不了我们的,是需要我们自己内化的。


人生路漫漫,每条路都充满了艰辛,这是因为这条路的终点都拥有独特的,美好的曙光在等我们去追寻。


所以,不管未来我们做什么事,都要坚持努力做下去,在做这件事的过程中,我们需要学习很多知识,我们要获取很多人的帮助,但最终靠的还是我们自己。


对于信息学,这是我们目前选择的道路,信息学带给我们的,老师讲了很多。但是想让信息学真正带给我们这些,需要我们自己去努力汲取。


我们学习语文、数学这些文化课的过程中,为什么我们能熟练掌握这些知识点呢?是因为我们几乎每天都会上这些课,每天都会写这些科目的作业,熟能生巧了。为什么我们永远不会因为生疏忘记了1+1=2,因为这些知识我们掌握的已经非常滚瓜烂熟了。


信息学也是如此,想要在信息学上取得成绩,就要坚持学习,就要定期复习,就要不断挑战自我,去做自己可能不会做的题目,不断地提升自己对知识的了解程度!


希望大家都能在信息学上取得成果!这个成果可以是我们锻炼得到的能力,可以是参加比赛获得的荣誉,可以是通过信息学去到了好学校,甚至我们将信息学发扬光大!

3 赛培班知识体系

接下来我们看下这一期课的知识体系!主要就是下面这幅图:




信息学赛培班大揭秘,老师有话对你们说!_信息学竞赛


具体内容,让我们接着往下看。

1 回顾

首先我们要回顾一下基础数据结构和基础算法的一些内容,然后我们应用基础算法完成一些习题,去深入领悟这些基础算法。我们需要先扎实基础,然后再继续扬帆起航!

2 树与二叉树

接下来我们学习数与二叉树的相关内容。我们需要系统了解树与二叉树的基本理论,了解树的基本定义,了解树的相关性质,了解二叉树的基本理论,了解二叉树的相关性质,了解什么是森林以及二叉树和森林之间的转换。了解一些特殊二叉树,并着重讲解并查集。


在这一部分,二叉树是重点,也是难点,我们要掌握二叉树的各种性质,要掌握二叉树的实现方法。

3 图论

图论是数据结构中最难的,虽然数据结构的图论只是图论中的冰山一角。但是我们也要有坚定的信心把它学懂!


在图论这一部分,我们会讲解信息学竞赛中图论的一些基本概念,包括有向图、无向图、边、权重等等;会讲解图论的几种存储方法,包括:


邻接矩阵、
邻接表、
逆邻接表、
十字链表


讲解图的几种遍历方式,这些遍历方式也是后面的经典搜索算法。包括:


深度优先遍历
广度优先遍历


这些我们会放在后面的搜索算法中一起讲解。


我们还会讲解几种经典应用,但是因为时间原因,我们不会展开说明,给大家作为介绍,有兴趣的同学可以深入了解学习:


生成树和最小生成树
拓扑排序
关键路径
最短路径
欧拉路与欧拉回路


图论的整体内容比较难,知识也有很多,我们只是讲解整个图论中的冰山一角,如果真正全部都讲图论,一期的课也是讲不完的。更多的还需要大家自己深入学习。

4 算法

算法部分,我们会深入讲解一些难度较高的算法。包括:


1、递推算法
2、递归算法
3、搜索算法
(1)深度优先搜索
(2)广度优先搜索
4、动态规划


这些算法难度较高,其中最简单的应该算是递推算法,搜索算法、递归算法和动态规划都是信息学竞赛中的难点,但也同样都是易考点。所以,再难我们也要将他们攻克下来。


搜索算法的实现,也需要用到递归算法。递归算法逻辑本身没有太难,但是非常绕,我们之前在第二期课程讲函数的时候,也有讲过递归的基本概念



信息学赛培班大揭秘,老师有话对你们说!_c++_02

​C++强化 | 11 这样学递归,才不会觉得难​


这里的递归是递归概念的基本讲解,在我们这一期的课程中,我们会深入到信息学竞赛中,看看竞赛中的递归难度如何,以及我们如何应对。


动态规划需要用到递推算法,动态规划是动态的调整状态,所以我们要使用动态规划的时候,要考虑状态的动态转移,也就是要先定义好状态转移方程,然后再实现相关代码。动态规划的优点在于,能够找到一些方案中的全局最优解,但是缺点在于,动态规划比较难,没有统一的方法,只能我们自己结合各种知识去实现,这就需要我们多去接触,多去练习。

5 数学基础

在暑期课程的最后,我们会讲解信息学的一些数据基础。主要讲两个方面:


数论基础
排列组合基础


这两部分在信息学必备数学基础中重要性最为突出,并且涵盖的知识面很广。在我们这两节课中,我们只是简单地入门,讲解一些基本理论,基本方法,让大家都能掌握基础,能够方便未来更加深入学习。

说在后面的话

最后一期课程了,讲完这一期课程,我们所有的信息学基本理论就全部讲完了,如果大家能够完全吸收掌握这些知识,大家就有了参加信息学竞赛的实例并能获得一定的成绩。


学习之路漫漫,知识永无止境。学完这四期多的课程,并不是说明我们信息学所有知识体系全部学习完毕了。这只是走上信息学竞赛之路的开始,我们还要不断攻坚克难,还要不断汲取新的知识,还要不断巩固实战!


老师后面还会分享信息学竞赛的一些知识,可能是赛前的辅导,可能是某个专题的讲解,信息学学习之路,我们一起坚定地走下去



AI与区块链技术


信息学赛培班大揭秘,老师有话对你们说!_信息学竞赛_03

长按二维码关注