掌握算法模型的方法(掌握10个算法模型的方法)

掌握算法模型1.数量级

好的程序员比差的程序员强多少呢?

2倍?3倍?

是100倍。

不是一个打十个,而是一个打一百个。

其实,人和人的差距都是可以用数量级来计量的。

什么是数量级?

简单地说,就是以10的幂次来衡量。

比如,10和100,就差了一个数量级;100和1000,也差了一个数量级。

在计算机的世界里,算法的复杂度是最重要的,好的算法和差的算法是数量级的差距。

举个例子,只有100个数据时,算法A用时0.01毫秒,算法B用时0.1毫秒。

在有100万个数据时,算法A用时8000毫秒,算法B用时5000毫秒。

请问,哪个是好算法?

你可能会说,数据量小的话A好,数据量大就B好。

但实际上,计算机考虑的,是数据量在无穷大时算法的表现。因为它本身就是为处理大量的数据而生的。

换句话说,如果两个算法之间没有数量级的差距,那它们的复杂度就是一样的。

这就是大O计数法。

对于个人来说,想要脱颖而出,你不是要比别人好一两倍,而是要好十倍。做到数量级的差距,可以说是另一种形式的降维打击。

掌握算法模型2.递归

递归递推(不是地推)是一对好兄弟,想了解递归,不妨先来看看什么是递推。

递推,就是按照从前往后的顺序来梳理思路。比如我们熟知的数学归纳法,

猜你喜欢

转载自blog.csdn.net/yetaodiao/article/details/129862764
今日推荐