小编rat*_*war的帖子

找出所有给定数组中常见元素的最佳算法

假设有10个数组,我们必须找出给定数组中的所有常见元素.

目前我正在选择第一个数组,并且对于第一个数组中的每个元素,我遍历所有剩余的数组,但这会增加时间复杂度.

是否有任何好的算法可以做到最少没有比较?

c# c++ arrays algorithm

2
推荐指数
1
解决办法
818
查看次数

给定数百万个点,找到位于线上或距离线0.2毫米范围内的点

给定一组具有(x,y)坐标的数百万个点,我必须选择线[(x1,y1) - (x2,y2)]上的点或者在0.2的范围(距离)内mm离线.

解决这个问题的一种方法1)将每个点放在线的方程中,如果满足那么点位于线2)计算点和线之间的垂直距离,如果距离小于0.2 mm则选择此点

但是对于数百万点来说它不是最好的解决方案,所以我正在寻找新的算法或技术,我们可以用它来解决上述问题.

任何帮助将非常感谢!谢谢.

感谢您的回复,我已经完成了您发布的所有建议.我想,我会给你一些问题的背景知识.

我是c ++编程的新手,我面临的问题描述如下

  1. 程序的输入是一个逗号分隔的文本文件,其中包含数百万或数十亿的x&y坐标,每个点都有一些值,例如x1,y1,value1
  2. 然后程序绘制数千行([x1,y1] - [x2,y2])

  3. 对于每条线,我必须选择一组位于线上或在0到0.2毫米范围内的点

我试过以下方法:

  1. 计算每个点距离线的距离,如果距离<= 0.2然后选择这样的点,并为数千行做了...但它不是有效的算法

  2. 在第二种方法中,我计划对坐标进行排序,然后在给定线的两侧绘制平行线,距离为0.2 mm ....但不知道如何识别位于平行线之间的点.还建议这种方法是否合适

你们有些人建议使用r树,2变种方法,因为我是编程pl的新手,建议了解一些在线教程以及如何实现相同的

c++ java algorithm math

1
推荐指数
1
解决办法
246
查看次数

标签 统计

algorithm ×2

c++ ×2

arrays ×1

c# ×1

java ×1

math ×1