对一组有序字符串进行离线索引以进行通配符搜索

发布于 2024-12-16 14:12:31 字数 356 浏览 0 评论 0原文

我想对大量但有限的字符串集实现通配符搜索功能 这就是我想要的:?代表 1 个字符,* 代表 0 个或多个字符。 我已经知道:

  1. 使用 trie 或 trie 的变体可以很好地解决问题, 没有*匹配,
  2. 尽管使用反向特里树确实解决了*问题,通过耦合匹配 两次尝试的结果,但我希望字符串按“字母顺序”排列 有序,交集计算使用的内存可以是 严肃的。

http://www.codechef.com/JAN10/problems/L2,但我找不到有人解释他们的代码。

谢谢

I want to implement a wildcard search feature to a large but finite set of strings
here is what I want: ? for 1 char, * for 0 or more chars.
What I've already known:

  1. use trie, or variants of trie can solve the problem pretty good,
    WITHOUT * matching
  2. although use a reversed trie do solve * problem, by coupling match
    results of both tries, yet I want the strings to be "alphabetically"
    ordered, and memory used by intersection calculating could be
    serious.

similar problems have found at http://www.codechef.com/JAN10/problems/L2, but I can't find somebody explains their codes.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

安人多梦 2024-12-23 14:12:31

这可以使用正则表达式库来实现。看看我已经实现的这个。 C++ 正则表达式库

This could be achieved using regex library. Take a look at this which I have implemented. Regular Expression library in C++

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文