怎么发现一个有用的算法?
我们平时发现一个算法一般会遵循一下这几个步骤:
- 遇到问题,试图发现这个问题的主要元素。
- 然后找到解决这个问题的算法
- 第一次写的算法(也许很快,也许很慢)
- 但一般第一次写的算法都比较糟糕,这时候就找方法解决为什么会那么糟糕了
- 找到使得算法变好的关键点
- 不断迭代
Dynamic Connectivity
寻找有没有连接两个点的路径,如下:
你发现又连接8-9的路径,但是没有连接0-7的路径,要是想连接0-7的话,可以连接0-5,6-1,2-7,这就连接上0-7了。
一看,你发现连