Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 求一条直线分割类的算法_Algorithm - Fatal编程技术网

Algorithm 求一条直线分割类的算法

Algorithm 求一条直线分割类的算法,algorithm,Algorithm,我想要创建一个算法,它找到一条直线,将大多数对象从类中分离出来。该线必须平行于X轴或Y轴。例子: 上面的示例显示了两个类:填充的圆和未填充的圆。红线是解决问题的办法。有人知道如何找到这样一个简单的方法吗?通过增加X来扫描项目。在扫描过程中,保留两个计数器,通过当前X在垂直线左侧告诉您已填充和未填充项目的数量(右侧的计数是补码) 然后保持“类中对象最多”的位置(取决于您对该标准赋予的意义) 在Y上重复并保持两个结果的最佳状态。我认为这个问题不属于堆栈溢出。查看更多信息;但在我看来,这甚至可以被视

我想要创建一个算法,它找到一条直线,将大多数对象从类中分离出来。该线必须平行于X轴或Y轴。例子:


上面的示例显示了两个类:填充的圆和未填充的圆。红线是解决问题的办法。有人知道如何找到这样一个简单的方法吗?

通过增加X来扫描项目。在扫描过程中,保留两个计数器,通过当前X在垂直线左侧告诉您已填充和未填充项目的数量(右侧的计数是补码)

然后保持“类中对象最多”的位置(取决于您对该标准赋予的意义)


在Y上重复并保持两个结果的最佳状态。

我认为这个问题不属于堆栈溢出。查看更多信息;但在我看来,这甚至可以被视为一个数学问题。你想要的复杂性是什么?O(#对象)?对您的问题的描述一点也不清楚。您的示例中的红线解决了什么问题?你是说它提供了最大的一组不包含任何填充圆的非填充圆吗?