比较有趣、有用的算法分类

硬计算类算法、软计算类算法

注意:这两个名词都不是计算机科学或算法中的标准术语

那为啥要提这个呢?因为很有现实意义。

硬计算类算法

精确求解。但是某些问题使用硬计算类的算法,可能会让计算的复杂度较高

大厂算法和数据结构笔试、面试题、acm 比赛或者和 acm 形式类似的比赛,考察的都是硬计算类算法。

软计算类算法

更注重逼近解决问题,而不是精确求解。计算时间可控

比如:模糊逻辑、神经网络、进化计算、概率理论、混沌理论、支持向量机、群体智能

什么地方用到?

硬计算类算法是所有程序员岗位都会考、任何写代码的工作都会用到的。前端、后端、架构、算法所有岗位都要用到。

但是算法工程师除了掌握硬计算类的算法之外,还需要掌握软计算类的算法。

比较宏观的数据结构分类

连续结构、跳转结构

任何数据结构都一定是这两个结构拼出来的!没有例外!

数据结构太多了,从链表、队列、栈,到可持久化线段树、树链剖分、后缀数组等等结构

后面的课都会讲到!