学习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. git提交时报错:Updates were rejected because the tip of your current branch is behind

    有如下3种解决方法: 1.使用强制push的方法:git push -u origin master -f这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候. 2.push前先将远程rep ...

  2. Linux 查看日志的时候常用命令总结

    Linux ~ 查看日志的常用命令总结 1.tail -n <行数>,显示文件的尾部n行内容. -f 循环读取,常用于查阅正在改变的日志文件. ① tail   -f  test.log  ...

  3. Python3-shelve模块-持久化字典

    Python3中的shelve提供了持久化字典对象 和字典基本一个样,只不过数据保存在了文件中,没什么好说的,直接上代码 注: 1.打开文件后不要忘记关闭文件 2.键只能是字符串,值可以是任何值 3. ...

  4. pikachu靶场-CSRF

    xss和csrf区别: CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏. PS: 由于之前将php5升级到php7,导致靶场环境出现以下问题 ...

  5. Java笔试面试总结—try、catch、finally语句中有return 的各类情况

    前言 之前在刷笔试题和面试的时候经常会遇到或者被问到 try-catch-finally 语法块的执行顺序等问题,今天就抽空整理了一下这个知识点,然后记录下来. 正文 本篇文章主要是通过举例的方式来阐 ...

  6. git和github入门指南(3.3)

    3.4.开源项目的协作方式 开源项目通常是没有写入的权限的,我们需要换一种协作方式参与到这些开源项目中 为了演示方便,我们把git-demo这个项目中nd-00002这个合作者的权限取消 接下来nd- ...

  7. 一张PDF了解JDK9 GC调优秘籍-附PDF下载

    目录 简介 Oracle中的文档 JDK9中JVM参数的变化 废弃的JVM选项 不推荐(Deprecated)的JVM选项 被删除的JVM参数 JDK9的新特性Application Class Da ...

  8. AdminLTE 2.4

    https://jeesite.gitee.io/front/AdminLTE/2.4/index2.html

  9. C#操作SharePoint文档库文档

    using (Stream file = spFile.OpenBinaryStream()) { //其余代码 }

  10. JS中同步和异步

    首先,我们要知道,JavaScript的本质是一门浏览器脚本语言,在执行的时候是一行一行的执行,只有前面的代码执行完了才会执行后面的代码.JS是单线程语言指的就是这个意思. 同步和异步其实在进行任务执 ...