算法优化问题,请大家帮忙(急啊)
我写的一个程序中有一段代码是对一个N*N的矩阵做比较排序,N一般都是在10000左右,我现在的程序运行的太慢,大家能否帮忙优化一下。
算法过程(简单描述,略去了矩阵重排):
1、设矩阵每一行都是一个点
2、用一个公式计算每两个点之间的一个关系d,称为距离吧
3、找到距离最小的两个点,合并成一行,形成一个新的点
4、再次重复步骤2,直到整个矩阵只剩一行,即一个点。
希望我的描述比较清楚了,不知大家是否看明白。
我现在是用的最简单两层循环硬比得到最小的d,这样做计算时间太久了,简单的估算一下,得到第一个最小的d需要计算5000万次(N=10000)……这整个过程需要几个小时,不知道大家是否有能提供比较好的实现算法,不胜感激。
我等级比较低,只能放100分,不够的话我另外开帖再放。