开篇
仰望星空的人,不应该被嘲笑
算法这一块到底如何准备
那么对于零基础的小白来说,可能需要花 10-20 天左右时间来准备算法,而对于非科班来说这个周期可能会更长一点。那么,现在我准备来分享我是如何规划和准备刷题的。
- 第一点,明确算法它不是很难的东西,理解了其实就那会事,或许你还会喜欢上做题,当然,对于 acm 大佬做的题就另当别论了,这篇文章主体与面试水平为准
- 第二点,前端对于算法这一块的考察相对来说会偏简单一点,我在春秋招过程中遇到的笔试题都是一些常见的题目,比如搜索,贪心,简单动态规划,经典排序算法,都是以
leetcode
一些简单以及中等难度的居多,而这些算法对于科班来说的话,应该在学校都学习过,比如算法分析与设计,数据结构与算法这一类课程,那么有这个基础,你的刷题时间又可以进行缩短了 - 第三点,既然说到要刷题,该如何刷,我在掘金参考了几个大佬(文末有参考处),大家都会推荐分专题来刷,在这里,我也是非常推荐的,在这里,我希望的是将刷算法题的数量再减少一点,带你入门,当你刷完这些专题之后,你就有相关思维能力主动去刷题了,而不是很被动的去刷,这样也很方便自己总结归纳~
- 其它,可以参考大佬的文章,这里不再赘述...
刷题路线
下面正式开始我们的刷题之路,给本篇文章点个赞,拿出自己心仪的键盘,开始!
算法中常见的数据结构
选用合适的数据结构是算法设计的重要一环,常见的数据结构有:数组、栈、队列、哈希表、链表、树、图、堆等。
这些数据结构都有各自的特点,甚至在某些场景下,它们之间还可以相互转换。比如,数组既可以用来顺序存储,也可以用来实现栈、队列和散列表。