概述
本专栏旨在通俗易懂的总结常见算法题,力求用人话,用最易懂的方式讲解清楚常见算法题。算法训练非一朝一夕之功,希望与大家日拱一卒,共同进步。
注:该专栏各文章均为原创总结,转载请署名。
专栏参考题库:题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台
【经典解法与进阶解法】
经典解法:即最容易想的解法,这类解法常用的有遍历、枚举等,一般时间复杂度或空间复杂度较差。
进阶解法:所有算法的进阶解法,都是在经典解法的基础上加速。之所以有算法的概念,就是因为某种套路可以更省时间更省空间的得到结果,有些算法容易想,有些算法是无数前人探索之后的智慧,这些智慧是值得我们去研究学习并使用的,所以才会有算法学习及算法笔试面试考察。
本专栏对任何一道题都会从这两个角度入手,先阐述经典解法,再讲解进阶解法。
【算法到代码的翻译】
个人理解,算法是算法,代码是代码。
在算法的学习中,我们经常遇到一种情况,知道是怎么一种套路,但实际去写,不会写。这种情况实际是不会将算法思路翻译为计算机的语言:代码。
比如滑动窗口,我们知道要用一个窗口,但窗口用什么结构实现,如何右移,如何从左缩小窗口,如何过程中维护窗口长度变量或窗口中需要保持的特征,都需要一个思考过程。
这个过程首先要建立一个心理预期,写代码不是一蹴而就的东西,实际工作中,写代码也是一步步调试才能最终上线。
【选用语言】
建议大家使用python3进行算法训练,原因有如下几点:
1.python语言作为一种脚本语言,不需要编译,调试简单
2.python语法简洁明了,声明变量不需要加类型,省去很多语言相关的知识,可专注于算法本身
最后
以上就是犹豫钻石为你收集整理的【算法训练专栏】前言的全部内容,希望文章能够帮你解决【算法训练专栏】前言所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复