nxchenjk 发表于 2022-12-6 22:01:45

写了一个地下综合管线交叉分析。但速度有点慢。

根据各位老师的指点写了一个地下综合管线交叉分析。但速度有点慢。还有请老师给优化一下。

tigcat 发表于 2022-12-6 23:17:04

例子中有7280条线。有(1+7279)*7279/2=26495560次计算交点。所以这个快不起来。如果有办法,可以尝试分治,或者分块统计。lisp有时算4个小模块花的时间比算一个4合1模块的要快。

nxchenjk 发表于 2022-12-7 09:26:00

tigcat 发表于 2022-12-6 23:17
例子中有7280条线。有(1+7279)*7279/2=26495560次计算交点。所以这个快不起来。如果有办法,可以尝试分治 ...

老师没有这么多计算次数,第二次循环是只和它相交的“F”选择的。而且是要在选择集里的,总共计算次数是28000多次。

tigcat 发表于 2022-12-7 14:46:40

nxchenjk 发表于 2022-12-7 09:26
老师没有这么多计算次数,第二次循环是只和它相交的“F”选择的。而且是要在选择集里的,总共计算次数是2 ...

那是我没有看懂源程序,只看到了求交点的段落就误以为遍历求解。看擅长算法大神能否前来分析下。

gzxl 发表于 2022-12-7 18:48:56

加上管线及管线点,图上才 17946 个,算法及代码写的好,运行速度不需要1秒。
看我这里的运行速度:
http://bbs.mjtd.com/thread-186519-1-1.html
页: [1]
查看完整版本: 写了一个地下综合管线交叉分析。但速度有点慢。