三月十日学习记录

本节课我们继续学习了STL的相关知识和递归数列的简单内容,以下是我的学习记录:

我们继续上节课的内容讲了set和multiset,从这一部分内容中首先我学会了集合的应用,更重要的是我学会了重载小于号的使用,虽然我们现在学的知识还少,不能真正完全的理解每一句代码的意思,但是,我感觉我已经理解了这个内容的用法,稍微掌握了集合中重载运算符的使用,并且还学习了定义迭代器,类似于c里面的指针,让我知道了集合的便利之处;

STL中的map和multimap就相当于我们中学中学过的映射,只不过map是一一对应,而multimap则可以多个对应一个结果;学习了这一个知识之后我觉得对我们的做题帮助还是很大的,比如我们做题如果遇到先储存数据,但是数据比较麻烦且没有规律的话,以后如果再用到数据再去用for循环一个一个找会比较麻烦,学习了map就相当于建立起了对应关系,只要让主要内容有一个关键值跟他对应,那么在以后的查找中只要与关键值对应了,内容自然也就找到了,我认为这改变了一些题的做题方式。

优先队列就相当于一个队列加了顺序,如果我们用了自己定义的结构体变量的话,其中顺序的规则我们还可以自己定义,这就可以让我们在输出队列中单元素时,每次都可以输出其中权值最大的元素,并且每次输出或者输入后,队列顺序都会自动在进行一次排列,就相当于一个set和queue的结合。

不光STL,我们还学习了一些简单的递归思想,把一个大的问题分解成许多具有相同特征的小的问题,这样在处理起来的时候,就能化整为零,每次处理的问题都是上一层问题的小一点的问题,依次减小下去,就会把一个大问题简化成我们可以简单处理的小问题,那么在解决难题的时候,就给我们提供了一个很好的思路,一个化整为零的思想。递归我们说了两个具体例子,第一种就是简单的阶乘问题,可以直接通过公式解决,第二种就是没法通过公式直接写出来的,那么就要用枚举法,依次列举出存在的可能性,比如就是多位数的全排列问题,当确定下一个位置上的数来之后,原来的问题就会变成少一位的多位数全排列,当我们不断确定依次位置上的数之后,最终这个问题就变成了一个位置放一个数,就是确定好的了,在写代码的时候注意的小问题就是当我们为了确定一个位置上的数进行交换的时候在引用递归之后一定要把换位置的两个数换回来,不然在往下进行的时候,在进行交换的前提情况就已经不一样了,所以要把两个数再换回去。

这节课的内容大致就是如此,我感觉听课要比自己看书的效率要高,自己看数可能看不明白的,上课一听,老师一点就能明白了,虽然我还没有正式开始做题,但是我想只要掌握了基本知识,做题就能犹如顺水行舟,事半功倍!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值