我们如何对各种算法进行分类?

use*_*312 2 algorithm

我们如何对各种算法进行分类?

我听过各种各样的名字:分而治之算法,确定性算法,概率算法,就地算法等等.

它们是否形成任何类型的分类层次结构?

请提供任何网站链接.

Sae*_*iri 7

算法有一些不同的分类:

他们解决问题的方式

经典算法:

非经典的:

但是这种算法是确定性的或非确定性的手段,对于特定输入的每次运行,它们将得到相同的结果(确定性)或不同的结果(非确定性).

此算法也存在太多不同的问题,每个问题都使用所有算法的混合,例如欧几里得图中的TSP可以通过使用dfs和图算法,随机游走,....和ATSP(TSP in)来近似.非对称图)可以通过线性规划和一些高级图算法的组合来近似.

但是存在着名的问题分类,我们可以将其扩展到算法,这些算法是按时复杂的(也是记忆但是现在的记忆并不像时间那样关注):

  • P
  • NP
  • NPC
  • 全国人大强势
  • NP Hard
  • 联合NP
  • ...