学习2周C++的收获

  首先,C++是一种实用性很强的程序设计语言。它使用起来灵活、方便,运算符丰富,有结构化的层次……

  那么,我学习这个语言主要是为了参加信息学奥林匹克竞赛,这不仅要熟练地掌握一门语言,还要灵活地运用一些算法。在学习的过程中,这也使我们的思维更加活跃,解题能力大大提升。


  第一天,我们了解了一些简单的C++语言程序的实例,学习了一些运算符,如何定义变量……学会了用计算机来解决简单的数学题,这一天算是收获满满,因为学的知识偏多一些。

  再到后面,基本是一天一个模块 (算法?)

  第二天老师讲的if和switch,第三天讲的循环结构,第四天讲的数组,第五天讲的字符串,第六天讲函数……

  再到后面我们一天学一个基础算法。(高精度,排序,贪心,分治,递推,递归,搜索,动态规划……)

  在这期间我们还学了学栈、队列、树。

  临放假这几天我们学了图论(存储,最短路径,并查集……)


  学了这么多的知识,在算法(有些可能不算)方面,我个人觉得排序,搜索,动态规划很重要。

  • 排序有好多题都用的到,sort、归并排序比较快,可以节省时间。
  • 搜索的话,有些题目可以爆搜骗分(虽然我还没有体验过) ,用它也可以解决一些没有特定的计算法则的问题(走迷宫等等)
  • 动态规划可以用来解决一些关于最优化的问题,这是一种解决问题的方法,不算是一种特殊算法,但它很重要

  其它的,比如贪心算法,分治算法,他们的基本思路都很明确。贪心是在满足无后效性的前提下,把局部最优策略合成原来问题的最优解。分治是将一些较大规模的问题分解成几个较小规模的,通过对较小规模问题的求解以达到对整个问题的求解。

  但是,对于目前的我来说,我很难把它们在代码上体现出来。虽然我懂得思路,但是面对各种各样的题,灵活运用这些算法是我目前的短板。遇到一些题我常常没有思路,直到看到题解的时候才恍然大悟……所以以后我要攻克这个困难,这需要我不断刷题,找找经验;我也要多看看书,从书中再落实一些基础知识。


  在今后的学习中,我应该多刷一些关于算法的题,也要继续往后学习其他的知识。大家一起学习,共同进步。希望在以后我和同学们都能齐心协力,共创辉煌。

学习2周C++的收获的更多相关文章

  1. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验【中英】

    [中英][吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第二周测验 第2周测验 - 神经网络基础 神经元节点计算什么? [ ]神经元节点先计算激活函数,再计算线性函数(z = Wx + ...

  2. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】

    [吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [  ]AI为我们的家庭和办公室的个人设备供电 ...

  3. 201671010140. 2016-2017-2 《Java程序设计》java学习第二周

                                 学习第二周(Java基本程序设计结构)      这一周,着重学习了Java的简单程序设计实现及运行,通过自己操作,发现Java的程序语法大面 ...

  4. 201671010140. 2016-2017-2 《Java程序设计》java学习第一周

       java学习第一周        本周是新学期的开端,也是新的学习进程的开端,第一次接触java这门课程,首先书本的厚度就给我一种无形的压力,这注定了,这门课程不会是轻松的,同时一种全新的学习方 ...

  5. SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣

    马洪波是SAP成都研究院CEC开发团队三大巨头之一.关于他的背景介绍,参考我以前的公众号文章:SAP成都研究院CEC团队三巨头之一:M君的文章预告. 其实早在2007年,互联网上已经有介绍马洪波的文章 ...

  6. H5学习第二周

    怎么说,在各种感觉中h5学习的第二周已经过来了,先总结一下,感觉学习h5是一件让我爱恨交加的事,学会一些新的知识并把它成功运行出来的时候是非常激动和兴奋的,但是有时候搞不懂一个标签或者属性的时候,就有 ...

  7. H5学习第一周

    已经接触H5一个周了,经过学习,总算对H5有了一些了解和认知,下面就总结一下我对H5的认知和感悟. 首先接触的是H5的常用标签[meta],它有其以下常用属性 1.charset属性.单独使用,设置文 ...

  8. Java学习第一周

    第一周学习了JDK的安装和环境的配置,初步了解了Java与C的不同之处,学习了Java的变量.基本数据类型.以及面向对象的基础.并且自行完成了一些简单Java程序的编写. (1)学习了为什么使用抽象类 ...

  9. IP通信基础学习第二周

    此周的课程学习应该算是我对此科目真正学校生涯的开始吧,尽管我对该科目仍感到很陌生. 课程一开头,老师就给我们简单的介绍了网络的定义.发展及其分类,重点讲了网络拓扑结构及其在局域网上具体的分层情况.该部 ...

随机推荐

  1. 3、尚硅谷_SSM高级整合_使用ajax操作实现删除的功能

    点击删除的时候,要删除联系人,这里同点击编辑按钮一样给删除按钮添加点击事件的时候不能使用 $(".delete_btn").click(function(){ }); 这种方式,因 ...

  2. cv2.VideoCapture 图像旋转问题

    使用cv2.VideoCapture()时发现,分解后的图片均顺时针旋转90度, 为了重新转回来使用np.rot90(mat, 1)即逆时针将矩阵旋转90度. 大功告成!!!

  3. Ubuntu16.04CPU下安装caffe的艰苦历程

    我选用的是anaconda安装,符上我参照的三个有用的教程. 1 http://www.linuxdiyf.com/linux/22442.html 主要讲anaconda的安装和python路径配置 ...

  4. Python实用笔记——错误处理

    让我们用一个例子来看看try的机制: try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e ...

  5. JS代码简洁之道--函数

    函数的参数越少越好 有一个准则是:如果你的函数参数超过两个,就应该改为对象传入. 这样做是合理的,因为当函数参数超过两个时,参数顺序开始变得难以记忆,而且容易出现一种很尴尬的情况:比如我只需要传入第三 ...

  6. SpringBoot + MyBatis + MySQL 读写分离实战

    1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做.因此,一般来讲,读写分离有两种实现方式.第一种是依靠 ...

  7. C# 自定义常用代码段快捷键

    不断更新中... 分享地址:http://pan.baidu.com/s/15oE0X

  8. (私人收藏)SQLite 全面手册以及教程

    SQLite 全面手册以及教程 https://pan.baidu.com/s/1VKzCWjF79fAiOLjAlx-3zwnfkp SQLite 全面手册以及教程 SQLite 简介 SQLite ...

  9. 收藏 | 14张思维导图-构建Python核心体系!Python语法总结!

    今天在看Python时,ZOE的Python思维导图总结的很好,分享一下 链接: https://pan.baidu.com/s/1s6Gtptp-pJS0UliNeRIvjg 提取码: mrfz

  10. Fetch.AI 首席技术官Toby Simpson参与AMA活动

    感谢7月11日在YouTube上参与 Fetch.AI AMA的所有人.我们收到了大量的问题,遗憾的是我们没有时间回答其中的多数问题.如果你错过了现场AMA,你可以在下面观看全部内容: 在本文中,我们 ...