小编Lar*_*ara的帖子

为什么中位数算法算法不能使用块大小3?

我正在研究确定性中值发现的分析,假设输入分为3个部分而不是5个,问题是它在哪里分解?

确定性中值发现算法:

SELECT(i,n)

  1. 将n个元素分成5个组.通过死记硬背找出每个5元素组的中位数.

  2. 递归地选择⎣n/5⎦组中位数的中位数x作为支点.

  3. 围绕枢轴x分区.设k = rank(x)

4.如果i = k则返回x

否则我<k

然后递归地选择下部的第i个最小元素

否则递归地选择上部的第(i-k)个最小元素

我对算法进行了分析,我相信第1步和第3步将采用O(n),只需要恒定的时间来找到5个元素的中位数,Step2需要T(n/5).所以至少3个元件/ 10≤ p,并且阵列中的至少3/10是≥p,因此,步骤4将T(7N/10),并且将得到的复发.T(n)≤cn+ T(n/5)+ T(7n/10),但是当我在3的goroup中划分元素时,让我们说9个元素并将它们分组,这样:

{1,2,10} {4,11,14},{15,20,22}

我得到了中位数2,11,20和p = 11.

通常在五个一组中,可以说g = n/5组,并且至少⌈g/2⌉(中位数≤p的那些组),五个元素中的至少三个是≤p.所以元素总数≤p至少为3⌈g/2⌉≥3n/ 10.但是在3组中我们可以得到所有三个元素可能比p少.在这里我认为算法会崩溃!!

我的想法是否正确???

algorithm complexity-theory big-o selection

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

寻找Koch Curve的坐标

对不起我的语言,因为英语是我的第二语言.

我试图将直线转换为称为Koch曲线的分形.给出了直线的2个点,然后我需要创建Koch曲线,其中我将线分成3段,然后使第二段成为等边三角形.见http://www.tgmdev.be/curvevonkoch.php.

到目前为止,我们将直线转换为4个相等的段,我需要弄清楚Koch曲线的所有坐标.

当2点的y坐标相同时,我想到了一条直线,它给了我水平线.如果是这样,我可以通过将第二个半段除以右三角形的cos(60)来找出等边三角形的3个点.如下:http: //www.themathpage.com/atrig/30-60-90-triangle.htm

我的问题是当直线是对角线时如何找到所有坐标,例如a(200,100),b(400,600)或a(400,500),b(100,500).

algorithm math linear-algebra graphic graph-algorithm

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

寻找六角形路径的坐标

我试图将一个沿直线(2点)的运动转换为沿着六角形路径的运动,我尝试了不同的公式并且不起作用.

在此输入图像描述

我想找出基于A和B的P,Q,R,M的坐标.我希望有人建议一个更好的公式,它给出了移动长六边形路径的坐标.

algorithm math graphics linear-algebra graph-algorithm

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