使用 .NET StringDictionary 通过列表/字典进行前缀搜索?

2024-03-22

我想知道 .NET 是否提供任何标准功能来通过列表或字典对象进行前缀搜索。我遇到了StringDictionary,但不知道它是否可以为我做到这一点。

如果它可以进行前缀搜索,它也可以进行子字符串搜索或让我使用正则表达式之类的东西进行搜索吗?

提前致谢。


StringDictionary只是一个哈希表,其中的键和值是string是。这在泛型之前就存在(当Dictionary<string, string>是不可能的)。

您在这里想要的数据结构是trie http://en.wikipedia.org/wiki/Trie。有实现代码项目 http://www.codeproject.com/:

  1. 使用 TRIE 实现电话目录 http://www.codeproject.com/KB/recipes/PhoneDirectory.aspx
  2. 在 C# 2.0 中使用泛型的可重用前缀树 http://www.codeproject.com/KB/recipes/prefixtree.aspx

或者,如果你是那种人,那就自己动手(参见CLRS http://en.wikipedia.org/wiki/Introduction_to_Algorithms).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 .NET StringDictionary 通过列表/字典进行前缀搜索? 的相关文章

  • 是否存在用于编辑 doxygen 评论的“wiki”? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个相当大的开源 RTS 游戏引擎 Spring http springrts com 我最近
  • Console.ReadLine() 末尾没有换行符?

    问题很简单 当我使用 Console ReadLine 控制台上打印的下一个内容将在下一行 有什么办法可以继续打印该行吗 提前致谢 请检查 控制台 Read 这不会导致新行或换行
  • make: *** 没有规则可以创建“all”所需的目标“gcc”。停止

    我正在通过一个eg pgm 来创建一个make 文件 http mrbook org tutorials make http mrbook org tutorials make 我的文件夹eg make creation包含以下文件 des
  • 将 Azure Blob 与 Azure 网站连接

    我正在尝试将 Azure 网站连接到 Azure blob 我打算在容器中托管一些文件 然后从我的网站获取它们 我从本教程开始 http azure microsoft com en us documentation articles we
  • 调试神秘的git+ssh+proxy失败“bash:没有这样的文件或目录”的艰难方法

    我正在尝试通过 SOCKS5 代理克隆 github 存储库 在 ssh config I have Host github com github com ProxyCommand usr bin nc X 5 x 127 0 0 1 70
  • C++变量声明和初始化规则

    考虑以下声明和初始化类型变量的方法C C c1 C c2 c2 C C c3 C C c4 C 所有这些是否完全等同 或者其中一些可以根据确切的定义而有所不同C 假设它有公共默认值和复制构造函数 这些意味着 C c1 default con
  • C++ 获取两个分隔符字符串之间的字符串

    C C 中是否有任何内置函数可以在两个分隔符字符串之间获取字符串 我的输入看起来像 STARTDELIMITER 0 192 168 1 18 STOPDELIMITER 我的输出应该是 0 192 168 1 18 提前致谢 你可以这样做
  • 为什么C++中的内置堆栈接口没有clear()函数?

    在进一步使用它之前 我必须清空堆栈 我确实明白可以这样做 while mystack empty mystack pop 没有这个功能有什么具体原因吗 或者只是第一次制作时没有人感受到它的要求而被排除在外 另外 Java 中的堆栈接口确实有
  • C#等待串口数据

    我试图通过 C 应用程序从指纹扫描仪获取数据 但在指纹发送之前 我的整个代码都会执行 我尝试使用延迟功能System Threading Thread Sleep 1000 因此它可以在下一步执行之前获取数据 但这一切似乎都是徒劳的 任何人
  • 有丰富的领域模型示例吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个简单的示例来说明使用富域模型的好处 理想情况下 我想要一个之前和之后的代码列表 应该尽可能
  • IE 中“对象不支持属性或方法‘查找’”

  • 如何在 .net 表单应用程序的消息框中创建自定义按钮?

    我正在尝试在表单应用程序上使用 NET Compact Framework 3 5 实现自定义消息框 确定 取消 我如何实施它 如果您正在寻找带有 确定 和 取消 按钮的消息框 您可以使用 MessageBox Show this Mess
  • 如何使 YY_INPUT 指向字符串而不是 Lex & Yacc (Solaris) 中的标准输入

    我想要我的yylex 解析字符串而不是文件或标准输入 如何使用 Solaris 提供的 Lex 和 Yacc 来做到这一点 重新定义YY INPUT 这是一个工作示例 使用命令编译并运行 yacc d parser y lex lexer
  • 为什么指向 int 的指针会转换为 void* 而指向函数的指针会转换为 bool?

    C 标准草案 N3337 对指针转换有以下规定 4 10 指针转换 2 指向的指针 类型的右值cv T 在哪里T是一个对象类型 可以转换为 指向的指针 类型的右值cv void 将 指针转换为cv T 到 指向cv void 指向类型对象的
  • 什么是排列索引?

    我正在阅读 加速 C 我不明白练习 5 1 设计并实现一个程序 根据以下输入生成排列索引 排列索引是其中每个短语由短语中的每个单词索引的索引 The quick brown fox jumped over the fence The qui
  • 如何编辑 .csproj 文件

    当我使用 NET Framework 4 0 MSBUILD EXE 文件编译 csproj 文件时 出现错误 在 website01 csproj 的当前上下文中找不到 lable01 实际上 我需要添加每个 ASP NET 页面及其代码
  • 如何在 C++ 中检查文件是否已被另一个应用程序打开?

    我知道 有is open C 中的函数 但我希望一个程序检查文件是否尚未被另一个应用程序打开 有没有办法使用标准库来做到这一点 编辑 在答案中澄清这是针对 Linux 应用程序的 不仅标准库没有这个功能 一般来说也是不可能的 你可以 在li
  • 为数据提供有效类型是否会产生副作用?

    假设我有一大块动态分配的数据 void allocate size t n void foo malloc n return foo 我希望使用指向的数据foo作为一种特殊类型 type t 但我想稍后再这样做 而不是在分配期间这样做 为了
  • Xamarin Mac 中 AttributeName 的用途

    我正在尝试对 Xamarin 中的 NSMutableAttributedString 中的子字符串进行着色 但它似乎缺少正确的常量 我应该在那里放什么 Update 这越来越接近 var s new NSMutableAttributed
  • Java 压缩字符串

    我需要创建一个接收字符串并返回字符串的方法 防爆输入 AAABBBCCC 防爆输出 3A4B2C 好吧 这很尴尬 我在今天的面试中无法做到这一点 我正在申请初级职位 现在 我在家尝试制作一些静态工作的东西 我的意思是 不使用循环有点无用 但

随机推荐