【发布时间】:2012-01-25 15:31:47
【问题描述】:
有没有一种有效的方法将名字和姓氏存储在数据结构中,以便我们可以使用名字或姓氏进行查找?我会考虑一个带有名字的二叉搜索树。搜索名字会很有效。但是在尝试搜索姓氏时效率不高。我们还可以考虑另外一个带有姓氏的 BST。有什么想法可以有效地实施吗?
如果问题是什么
字符串名称[] = { "A B","C D"};
一个要求是能够在运行时动态扩展这个目录, 没有持久存储。该目录最终可以增长到数百或 数以千计的名字,并且必须可以按名字或姓氏搜索。
现在我们不能存储哈希表。有什么想法吗?
【问题讨论】:
-
这个问题似乎有点模糊,你想给定一个字符串,搜索匹配的姓氏还是名字,你想分别按姓氏和姓氏搜索,还是做您想搜索名字/姓氏组合吗?对于前两种情况,我会使用单独的 BST,对于最后一种情况,您可以使用嵌套在 BST 中的 BST
-
你可以想象成一个通讯录场景。我们得到了一个名称列表,例如 emp.setName("A","J"), emp.setName("B","C"),... 我需要在按名字搜索时获取 emp 详细信息或姓氏
-
在上述情况下也可以吗?
标签: algorithm language-agnostic data-structures contacts binary-search-tree