代码随想录算法训练营day61丨一刷总结

一刷感觉还是收获挺大的,虽然依然很菜吧就是。

感觉对二叉树、KMP算法,回溯算法,贪心、动态规划,还有单调栈,都挺印象深刻。

二叉树作为一个很常用的数据结构,它经常和算法进行结合,就比如说打家劫舍III,就涉及到了二叉树的遍历问题,其实二叉树的很多题都需要遍历来解决,通常就是在递归遍历的时候,更新什么值或者传递信息进行类似于回溯算法,所以说二叉树的遍历是一个很重要的问题。遍历主要就是分为递归的遍历,还是用队列和栈来遍历,递归便利的话就必须是前中后序的遍历,如果用队列的话就是层序遍历。然后因为递归函数其实是用栈来实现的,所以说前中后序的遍历是可以用栈来实现的。但实际上,做题的时候经常用递归函数来遍历,因为比较方便,写起来也简单易懂。

Kmp算法主要是有记忆的比较,主要是用来找一个字符串里面有没有包含目标字符串的。它需要用next数组来进行跳转,跳转到具有相同前缀的地方, 其中重要的是对next数组求解。

回溯算法是套模板就行了,其实整体来说它的难题不是特别难。

贪心算法主要就是容易想到的很容易想到,但是不容易想到的是真不容易想到,它主要是靠积累的,这次训练营也是做了很多贪心算法的题,感觉自己收获很大。

动态规划真的是进行了好多好多章节,真的是做题做到崩溃了都,它有编辑距离问题,背包问题,股票问题都很复杂,我感觉最复杂的最难搞的其实是dp数组的定义,如果对dp数组的定义有很得到的见解的话,其实它的推导公式就会变得简单一些,但是关键这个dp数组的定义有时候就,可能我比较傻,反正就是想不到,但是最后文章里面也给出了dp数组的定义通常就是题目要求解的问题,其实做的几道题里面大多数都是这样,当然也有例外,还是得多做题积累。

最后就是单调栈的问题了,单调栈就是针对一个数组,要解决寻找他左右方的最值问题或者比它大的值什么的。最后做的那几道题都很难,但是仔细想想,其实也就是加深对单调栈的理解就能解决的事,其实还是要多做题。

最后的最后,我之前看别人的博客说有什么奖励,我就一直等着呢,然后没想到是写完了博客之后,还要有最后总结的这篇才会解锁奖励,还是期待。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值