前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法题解题思维导图

算法题解题思维导图

原创
作者头像
pooky
发布2021-03-18 17:31:25
9410
发布2021-03-18 17:31:25
举报
文章被收录于专栏:开发随笔

作为一个Coder不管在工作中还是进阶场景下都会面临一个个问题,其实方法论或者模版很多情况下能够提供不少帮助、就像肌肉记忆一样,解题模版,思路模版什么的常记心中。在《程序员面试金典》里面的优化和解题技巧这一章节其实给出了很多思路,还是很有用这里整理了下,

这里面几个点还是提一下

首先 拿到一题目来说,如果一时间没有思路那么就按照上面的步骤走一遭,就算最后问题没有解决,但是解题的方法和态度是不错的。

其次重点说一下遇到问题所谓的听就是分析问题,基本上每一个信息都是有用的,思考每个信息带来什么,通常用什么方法应对,就例如遇到的问题用O(n)复杂度解决,那么就只有遍历一次或者几次。没有其他。遇到O(nlogn)大多数的就是有序的查找分治思想,遇到最大最小数对应的堆的数据结构就可以立即冒出来。常见的算法思想、数据结构、算法复杂度对应的算法、数据结构对应的算法复杂度。这些可以形成条件反射,下意识的优先思考

还有就是遇到问题如果没有具体的编码思想,那就按照人的处理思路具体化,例如查找,我们在词典目录查找的这个行为是下意识的,但是在算法里面就是logN的查找算法思想,可以回忆自己的怎么想的落实到具体的代码上

如果好的想法那么就先用最暴力的穷举遍历吧。然后再按照BUD的思路一点一点优化。

最后觉得很重要的一点:读题很重要,当你读透一个题目的时候也就成功了一大半了!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档