【发布时间】:2015-08-20 04:20:36
【问题描述】:
我使用 Trys 数据结构来存储单词。现在,我有一个要求,如果在同一段落中存在某些短语,则需要查找给定段落。
这样做最有效的方法是什么?短语总数不会超过 100 个。
【问题讨论】:
-
哪些尝试您正在使用? trie 有多个子类型,每个子类型都有不同的理想用例。您需要更准确地描述您的尝试,以便我们确定您的尝试是否最适合您的目的。
-
其实,废了……在现实世界中,“效率”并不是那么非黑即白。在您的计算机上最高效的可能不在我的计算机上。您最好不要过多考虑运行时效率,而是专注于生成可维护且不重复的代码。一旦你有东西在运行,决定它是否足够快...它是否最有效并不重要;如果它足够快,那么它足够快。如果它不够快,请使用您的分析器确定最重要的瓶颈是什么。
-
我正在使用尝试的基本实现。参考:geeksforgeeks.org/trie-insert-and-search 问题是,这将投入生产。这件作品会被多次调用。因此,足够快对我的用例来说非常重要。我只是在寻找一个可以采用其中包含空格的字符串的实现。
-
如果您对分析器有任何疑问,请随时提问...不过,这不仅看起来过于宽泛(因此原因很接近)但它似乎也不太可能在未来对其他人有所帮助(另一个可能的密切原因)。
-
如果你的尝试的实现不够快(记住短语的数量不会超过 100,这是你的真正限制,与生产无关) ,您的分析器会突出显示这一点,如果您的代码可维护,您应该能够放入任何其他数据结构来替换它。
标签: c++ c performance data-structures phrases