怎么发现一个有用的算法?

我们平时发现一个算法一般会遵循一下这几个步骤:

  1. 遇到问题,试图发现这个问题的主要元素。
  2. 然后找到解决这个问题的算法
  3. 第一次写的算法(也许很快,也许很慢)
  4. 但一般第一次写的算法都比较糟糕,这时候就找方法解决为什么会那么糟糕了
  5. 找到使得算法变好的关键点
  6. 不断迭代

Dynamic Connectivity

寻找有没有连接两个点的路径,如下:
1.Dynamic Connectivity(动态连接)

你发现又连接8-9的路径,但是没有连接0-7的路径,要是想连接0-7的话,可以连接0-5,6-1,2-7,这就连接上0-7了。
1.Dynamic Connectivity(动态连接)
一看,你发现连接0-1就可以直接连接0-7了,这样貌似的效率要更高。
其实很多时候,我们的算法就是干的这么一些事,为了让我们运行的效率更高,消耗更少的计算机资源。

事实上,很多时候,计算机做的就是连接,比如排序算法,就是通过整数索引进行元素与索引的连接,进而完成一些操作。

连接相关的定义还有:
1.Dynamic Connectivity(动态连接)

很多时候,我们会在一些没有关系连接的部分建立连接,形成更加强大的组块。但现实是,往往连接的都是一些非常大的数,这就需要我们的算法足够的高效。
1.Dynamic Connectivity(动态连接)

相关文章:

  • 2021-07-11
  • 2021-06-12
  • 2021-05-11
  • 2021-07-22
  • 2022-12-23
  • 2022-02-17
  • 2021-06-09
  • 2022-12-23
猜你喜欢
  • 2021-11-27
  • 2021-11-03
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-19
相关资源
相似解决方案