谈谈算法的学习

谈谈算法的学习

本文是根据【帅地玩编程】微信公众号上的一篇文章做的笔记和再拓展。

本地防丢失: leetcode 刷500道题,笔试_面试稳吗?谈谈算法的学习.pdf

1.实际笔试中和LeetCode中算法题的不同点:

  • 实际笔试中,往往是情境题,所用算法思想是不直接的;
  • 实际笔试中,有时间和心态的因素

2.笔试中,几种最常见的题型

这一部分中对题型的分类,和后面第3部分归纳总结中对题型的分类是在两个不同的层次上的(更抽象 vs. 更具体),视角上的维度上也有差异。也是需要自己再拓展补充的部分。

2.1 考察基本的数据结构

在面试中常出现。如:二叉树的遍历、链表的逆序等。。。

2.2 考察某种算法思想

动态规划回溯、枚举、深度/广度、贪心、二分等。。。

2.3 边界条件考察:考思维严谨程度

这类型的题,估计你一看就有思路,知道该怎么做,但是,它的边界条件特别多,需要分很多种情况来讨论,特别容易出错,有时候会让人陷进去,越做越复杂,这类题主要考场你的思维严谨程度。

2.4 找规律、数学公式类

3.如何刷题?如何学习算法?-- 归纳总结

这一部分中对题型的归纳分类,和前面第2部分对题型的分类是在两个不同的层次上的,视角上的维度上也有差异。也是需要自己再扩充拓展的部分。帅地玩编程公众号作者建议按题型刷题,便于归纳总结

3.1和数组相关的题型

3.2基本数据结构操作相关

如链表的各种操作:逆序(部分逆序、按某种条件逆序)、判断是否有环,环的入口节点、删除指定节点等。

二叉树的各种操作:各种非递归的遍历操作(前中后、层)、二叉树的公共祖先、根据前中后的遍历结果来重构二叉树等等。

队列、栈相关操作:最小栈、来队列来实现栈等。

3.3 字符串相关问题

对于字符串相关问题,90% 可以用动态规划来解决。反正对于字符串问题,我一般想法就是能否套用动态规划,字符串问题有点多,不过你有时间,建议总结。例如:通配符的匹配、最长公共子串、最小编辑代价、最长回文串等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值