草庐IT

中距离

全部标签

c++ - 更快的 C#(或其他 .NET)Levenshtein 距离实现

晚安我从事模糊字符串匹配已有一段时间了,使用带有一些指针的C,我可以非常快速地(满足我的需要)实现两个字符串之间的Levenshtein距离。我尝试使用不安全代码和fixed关键字将代码移植到C#,但性能很慢。所以我选择构建一个C++dll并使用C#中的[DllImport],自动编码每个字符串。问题是,在分析之后,这一直是我程序中最耗时的部分,占程序总运行时间的50-57%。因为我认为我需要对来自大约300万条数据库记录的文本字段的大量子字符串进行一些繁重的工作,所以我认为Levenshtein距离所花费的时间几乎是NotAcceptable。也就是说,我想知道您是否对下面的代码有任

c++ - 选择矩阵中距离另一点 30m 以内的所有点

因此,如果您查看我的其他帖子,就会发现我正在构建一个可以在森林中收集数据并将其粘贴在map上的机器人。我们拥有可以检测树木中心和树干直径并将它们贴在笛卡尔XY平面上的算法。我们计划使用某些“关键”树作为定位机器人的自然地标,使用三角测量和三边测量等方法,但仅使用Matlab对其进行编程并保持数据的直接和高效变得越来越困难。是否有对点数组或矩阵进行子设置的技术?假设我在1公里(1000米)范围内存储了1000棵树,有没有办法说,只选择我当前位置30米半径范围内的点并只使用这些点?我只想使用GIS,但我是在Matlab中执行此操作,而且我不知道有任何适用于Matlab的GIS插件。忘了说了

c++ - 在 C++ 中以 "N"距离生成整数范围内的 "logarithmic"数字集

我找不到这个问题的确切答案,所以我把它贴在这里:如果我有一个整数范围,我想以相等的对数距离计算该范围内的“N”个数字。这是一个示例代码,用于查找相等的“非对数”距离(或多或少)的数字:constintN=100;//totalnoofsizestogenerateconstintLOW=10;//rangelow-boundconstintHIGH=1000000;//rangeupper-boundintSIZES[N];intGAP=(HIGH-LOW)/N;SIZES[0]=LOW+GAP;for(inti=1;i但是,我想在这个范围内以“对数”距离找到“N”个数字。

c++ - 更快的编辑距离算法

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion问题:我知道对于大小分别为n和m的2个字符串,在O(mn)中的简单编辑距离DP公式和计算。但是我最近才知道,如果我们只需要计算编辑距离f的最小值,并且它有界|f|如果这是基于DP的,请解释其背后的dp公式或解释算法。查看改进的算法部分链接:http://en.wikipedia.org/wiki/Edit_distance.关于改进的UKKONEN算法的更多链接http://www.berghel.net

02【评价类】模型——TOPSIS法(理想解法、优劣解距离法)

02【评价类】模型——TOPSIS法(理想解法、优劣解距离法) 目录02【评价类】模型——TOPSIS法(理想解法、优劣解距离法) 一、引述二、TOPSIS法的应用2.1决策矩阵正向化处理2.1.1效益型指标(极大型指标)2.1.2成本型指标(极小型指标)2.1.3区间型指标2.1.4中间型指标2.1.5问题解决 2.2正向化矩阵规范化处理2.3构造指标的权重向量2.3.1层次分析法求权重向量2.3.2熵权法求权重向量2.3.3默认权重向量2.3.4问题解决2.4求各方案到正、负理想解的距离2.4.1求正、负理想解2.4.2求各方案与正、负理想解的距离2.4.3 求综合指标值三、TOPSIS法

algorithm - 3D 中点 A 是否靠近点 B - 距离检查

我正在寻找一种有效的算法来检查一个点是否在3D中的另一个点附近。sqrt((x2-x1)^2+(y2-y1)^2+(z2-z1)^2)这似乎并不太快,实际上我不需要这么大的精度。我还能怎么做? 最佳答案 对距离求平方,并放弃对sqrt()的调用,这样会快得多:(((x2-x1)^2+(y2-y1)^2+(z2-z1)^2当然,在许多情况下,至少可以提前计算出radius*radius并存储为例如squaredRadius。 关于algorithm-3D中点A是否靠近点B-距离检查,我们在

c++ - 以 X-Y 坐标给出的点之间的最短路径距离

我目前正在开展一个项目,该项目的vector包含大约800个点的X和Y坐标。这些点代表电力线网络。我的目标是计算A点和B点之间的最短距离路径,该路径可以位于也可以不位于由包含电线X-Y坐标的vector给出的路径上。我读过有关Dijkstra算法的资料,但由于我不太熟悉它,所以我不确定是否应该朝那个方向发展。如果我能从您那里得到任何可以指导我解决这个问题的反馈或意见,我将非常感激。 最佳答案 任何寻路算法都依赖于路径,点是没有意义的。您现在拥有的是“航路点”列表。但是你还没有解释这些点是如何连接的。例如,如果任何一个点都相互连接,那

2直方图(MATLAB)之间的地球推动者的距离/ Wasserstein度量

我想使用EarthMover的距离(也称为WassersteinMetric)测量两个直方图之间的距离。我从图像中提取直方图。这就是我从图像中提取直方图的方式:[N1,X1]=hist(image1,128)[N2,X2]=hist(image2,128)128表示直方图中的类数。所以我在这里找到了代码:https://fr.mathworks.com/matlabcentral/fileexchange/22962-the--earth-mover-s-distance?focused=5110777&tab=functionfunction[x,fval]=emd(F1,F2,W1

c++ - 求一个点到椭圆的距离,无论是在椭圆内还是在椭圆外

我想找出图像中每个像素坐标到椭圆的距离。为了找到距离,我使用以下公式,其中p是像素的点,h是椭圆。x,y是像素坐标,x(c),y(c)是椭圆中心,theta是椭圆角度,alpha和beta分别是椭圆的长轴和短轴。确定每个点到椭圆的距离的代码如下所示。如果距离D1那么这意味着该点在椭圆之外,在这种情况下我将保持原样。下面也是我得到的输出图像。出于某种原因,我认为我的距离计算是正确的,但我的旋转有问题。对我来说一切看起来都是正确的,我看不到问题所在。请帮忙。我需要的是椭圆中的所有像素都应该是灰色的,但对我来说,灰色区域形成了一个椭圆,但似乎我在某处旋转出错了。Matdistance2ell

c++ - 2 位集之间的快速汉明距离

我正在编写一个严重依赖于(1)访问单个位和(2)2个位集A和B之间的汉明距离计算(即A和B之间不同的位数)的软件。位集非常大,在10K到1M位之间,我有很多。因为在编译时不可能知道位集大小,所以我使用vector,但我计划迁移到boost::dynamic_bitset很快。以下是我的问题:(1)关于哪种实现具有最快的单位访问时间有什么想法吗?(2)为了计算汉明距离,天真的方法是循环单个位并计算2个位集之间的差异。但是,我的感觉是,循环字节而不是位可能要快得多,执行R=byteAXORbyteB,并在包含255个条目的表中查看与R相关的“本地”距离。另一种解决方案是存储a255x255