【发布时间】:2016-11-08 05:25:01
【问题描述】:
我用 C++ 编写了一个程序,它根据整数变量 v 在 1 到 100 之间变化的值序列生成一个文本文件。文本文件格式如下:
file1.txt
1 2 3 4 5
file2.txt
4 5 6 7 8
file3.txt
8 4 5 7 1
.......
比如说,我已经生成了 100 个文本文件(file1.txt 到 file100.txt)。我想一一检查文本文件并找出它们之间的相似度百分比。
我不想检查所有 100 个文本文件,而是想在某些连续文件获得或多或少相似的结果时停止检查。
如何执行相似性检查?比如说,我计算了 file1 和 file2 之间的相似度百分比。现在我将计算 file2 和 file3 或 file1 和 file3 等的相似度吗? 更准确地说,执行此检查的逻辑是什么?
【问题讨论】:
-
你如何看待相似度?是分享一些信件吗?分享一些话?还是订单也相关?例如。 12345 更类似于 54321 还是 12457 ?
-
12345 与 54321 更相似。通过相似性,我的意思是说两个文件将包含最多相同的数字@Christophe
-
为什么会有standard-deviation这个标签?您打算对标准差进行统计计算吗?
-
您必须更准确地定义“相似”,并且您还需要定义您希望输出的内容。您是否想知道哪个文件与 file1 最相似,哪个文件与 file2 最相似等等,以便您有一个显示每个文件以及哪个文件最相似的列表?如果文件 1、17 和 26 相同,你会怎么做?如果文件 1 包含
12345,而其他文件都不包含这些数字怎么办?如果没有明确说明您的输出,我们给您的任何建议都可能是错误的。
标签: c++ algorithm file logic standard-deviation