【问题标题】:what are sufficient approaches for manipulating a list of thousands of individual words处理数千个单词列表的足够方法是什么
【发布时间】:2015-11-14 03:42:02
【问题描述】:

我正在尝试设计这样一个应用程序,它可以处理存储在 txt 文件中的数千个单词列表,以完成以下任务,

1- 随机选取一些单词。

2- 检查用户输入的某些单词是否真的在列表中。

3- 从txt 文件中检索整个列表并将其临时存储以供后续操作。

我并没有要求实现伪代码。我正在寻找足够的方法来处理大量的单词列表。目前,我可能会使用字符串向量,但是搜索数千个单词需要一些时间。当然,必须有一些策略来应对这种任务,但是由于我的背景不是计算机科学,所以我不知道该往哪个方向发展。欢迎任何建议。

【问题讨论】:

  • 对于任何以加速为目标的任务,您需要做的第一件事就是定义用例以衡量实际速度。然后,使用分析器查找瓶颈。

标签: c++ algorithm words


【解决方案1】:

字符串向量可以解决这个问题。只需对它们进行排序,然后您就可以使用二进制搜索在列表中查找字符串。

【讨论】:

    【解决方案2】:

    Radix trees 是在单词列表中搜索匹配项的好方法。减少存储空间,但您必须有一些自定义代码来获取和放入列表中的单词。除非每次从文本文件加载时都重新创建树,否则文本文件不一定易于阅读。 Here's an implementation I committed to on GitHub(我现在什至不记得源材料)可能对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 2017-09-09
      相关资源
      最近更新 更多