首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个输入文件与给定数量的文件匹配的算法

将一个输入文件与给定数量的文件匹配的算法
EN

Stack Overflow用户
提问于 2013-04-04 19:28:32
回答 3查看 782关注 0票数 7

上周我进行了一次面试。我被困在算法圈里的一个问题里。我回答了这个问题,但面试官似乎并不信服。这就是为什么我要分享同样的东西。

请告诉我这个问题的优化方法,以便在以后的面试中对我有所帮助。

问题 :-

有20个文本文件,所有文件都是ASCII文本文件,大小小于10^9字节。也有一个输入,这也是一个ASCII文件,比如说,input.txt。 我们的任务是将此输入文件的内容与给定的20个文件进行战略性匹配,并打印最接近匹配文件的名称。输入文件的内容可能仅部分匹配。

提前谢谢。期待您的好意答复。

EN

回答 3

Stack Overflow用户

发布于 2013-04-04 19:41:48

区分它们并通过wc -l,或在C++中实现Levenshtein距离,将每一行视为一个字符(或任何对主题域进行更适当调整的单元)。

票数 3
EN

Stack Overflow用户

发布于 2013-04-04 20:24:49

您可以创建某种索引(例如: trie)来总结输入文件。然后,您可以检查文档中有多少个索引匹配。

例如:为长度为10的输入文件创建一个trie。对于文本文件中每一个长度为10 (重叠)的字符串,检查它们在trie中匹配的数量。

票数 1
EN

Stack Overflow用户

发布于 2013-04-04 21:45:53

作为设计真正有能力的、可伸缩的文档相似性系统的建议,我建议阅读挖掘海量数据集的第3章,它可以在网上免费获得。这里提出的一种方法是将单词计数向量化成集合,然后对这些单词计数进行散列,并将散列结果与Jaccard相似度进行比较,从而获得所有文档之间的分数。这可以工作在千兆字节的文件,以高精度,如果做对了。清晰的细节和良好的图表可以阅读斯坦福大学的关于局部性散列的CS246幻灯片。更简单的方法,如词频计数,也在书中描述。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15820029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档