【入门篇2】NOIP开篇(二)

一、学习的顺序

对于零基础编程入门学员,需要解决三个问题:语法、算法、数据结构。其中算法是核心,语法是入门,数据结构是辅助算法更好地实现。对于三者的关系,很显然,先选择一门语言,学习基本语法,能够熟练地写出代码,然后接触基本算法,再接触简单数据结构,体会数据结构给算法实现带来的便利,最后再深入研究比较高级的算法。

二、课前准备

1、一个简单说明

尽管我们最终是用C++进行编程,然而我们并不是从最初的C++开始的,而是从C开始的,因为C更容易上手,也更容易用于教学。同时在实际的使用中,C++又明显比C更加实用和高效,因此我们在后面会再转到C++,具体原因可以查看《入门经典》中前言部分,这里不再累赘。

2、相关教学资源


【入门篇2】NOIP开篇(二)_第1张图片
入门教材


【入门篇2】NOIP开篇(二)_第2张图片
进阶教材

·教材  1、入门教材:信息学奥赛一本通 C++版 第四版

           2、进阶教材:刘汝佳《算法竞赛入门经典》第2版

·网易云课堂  浙江大学翁恺老师《程序设计入门—C语言》

·NOIP环境安装包(至少包含Dev c++)

·网络测试平台:洛谷OJ、codevs

三、如何学习

1、入门语法学习

·跟随翁恺老师脚步自学

因为该课程是托管在网易云课堂中,所以自学前,需要你注册一个帐号。课程网址是:http://www.icourse163.org/learn/ZJU-199001?tid=417003#/learn/content

·掌握《入门经典》前三章

在自学翁恺老师课程的同时,结合《入门经典》,提升知识的深度,理解教材内容,尤其注意书本提醒注意点,认真完成教材例题和课后习题,确保自己能熟练地掌握全部内容。

·洛谷、codeVS刷题

单纯完成教材的例题和课后习题,并不足以让你有足够的代码量,结合洛谷等OJ平台,充实自己的代码量,尝试解决实际问题。在刷代码之前,需要注册一个github帐号,来管理自己的代码。

2、基本算法和数据结构

·自编教材(参照pascal入门教材)

重点掌握排序、递归、递推、穷举、深搜、广搜、贪心、分治、高精度算法;

重点掌握数组、字符串、二叉树、大小根堆、简单图论等数据结构

·《入门经典》第四章内容

结合教材,加深对基本算法的理解,完成例题和课后习题。

·OJ刷题

同上

3、进阶学习

·转C++

《入门经典》第五章

·并查集

·动态规划

·图论

你可能感兴趣的:(【入门篇2】NOIP开篇(二))