架构师之路年终总结(八)-算法篇

写了几万字关于算法与数据结构的文章,稍作总结,希望对大家有帮助。 画外音:都是面试官最喜欢问的,必须要掌握。

1.TopK问题

六种方法求解TopK问题,阅读量超高。 《拜托,面试别再问我TopK了!》 全局排序、局部排序,堆,分治法,减治法,随机选择等六种方法,时间复杂度从平方到线性,彻底搞懂TopK。 画外音:分治法,减治法的本质是什么?

2.数1问题

四种方法求解数1问题,阅读量很高。 《拜托,面试别再让我数1了!》 位移法、与操作法、查表法、二次查表法等四种方法,有点意思。 画外音:有限的内存,O(1)的方法,赞。

3.斐波拉契数列

五种方法求解数1问题,服不服? 《拜托,面试别再问我斐波那契数列了!》 递归法、正推法、通项公式法、减治法、查表法等五种方法,简直了。 画外音:思路比结论重要。

4.时间复杂度

搞定所有时间复杂度问题,面试无敌。 《拜托,面试别再问我时间复杂度了!》 for循环,树高度,递归求解等多种方法求解时间复杂度。 画外音:请小心使用,别吓到面试官。

5."常数"时间复杂度的排序

三种时间复杂度为“常数”的算法: 《拜托,面试别再问我基数排序了!》 《拜托,面试别再问我计数排序了!》 《拜托,面试别再问我桶排序了!》 画了很多图,保证你看懂。 画外音:以为都懂了,其实并没有这么透彻。

6.世界上最漂亮的排序算法

《世界上最漂亮的排序算法!》 从来没见过这么简洁优美的代码,6行搞定排序。 画外音:然而,并******。

7.最大最小值

《拜托,面试别再问我最大值最小值了!》 很小的问题,思路却很有意思。 画外音:作业题似乎还没有人做对。

8.群覆盖

一个复杂问题的四种解法: 《暴力法,求解“微信群覆盖”》 《染色法,求解“微信群覆盖”》 《链表法,求解“微信群覆盖”》 《并查集,求解“微信群覆盖”》 对算法感兴趣的朋友,建议“依次”看下来:循序渐进,了解整个优化过程与优化思路,比算法本身更重要。 画外音:并查集并不难,思路更重要。

可能没有“架构”或者“MySQL”的文章那么高大上,基础知识,更见功底,13篇,希望大家有收获。

思路比结论重要。 架构师之路-分享技术思路

推荐阅读: 《“缓存架构,一篇搞定”-年终总结(五)》 《“技术人如何带团队”-年终总结(六)》 《“MySQL必知必会”-年终总结(七)》

画图很辛苦,谢转。 画外音:工作中完全用不到?祝大家面试成功。