由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教双键的动态结构用什么数据结构比较好?
相关主题
请构造个数据结构,满足:推荐下讲《数据结构》的英文教材
弱弱的问问跟hash有关的问题 (转载)C++动态2维数组用什么数据结构比较好?
请教大家一个问题 (转载)In order to optimize for insert/lookup, use a map or a hash map??
有什么方法可以优化hashtable?弱弱的问问hash, hashtable? (转载)
被同事吐槽,LINQ用的太多一般操作很多的数据用什么数据结构?
求助一个数据结构的求时间复杂度问题如何设计一个支持 survey or questionnaire 的数据结构?
阅读Robert Sedgewick的"algorithms in C"的感受怎么做hash运算?
请问stl里面的vector, map, set都是用什么数据结构实现的有什么教程分析Java常见面试题的复杂度的?
相关话题的讨论汇总
话题: 数据结构话题: key话题: name话题: 双键话题: 记录
进入Programming版参与讨论
1 (共1页)
g*********s
发帖数: 1782
1
比如一个记录,id和name都是unique的,都可以用来做key。现在有这样一组记录,插
入/删除/查询的操作很频繁,而且可能用name也可能用id作key。用什么数据结构比较
好?
最简单的想法是两个balanced BST,一个用id作key,一个用name,但这样等于时间空
间都double了,虽然复杂度不变。
两个hash table的话也是同样的问题。另外因为记录是动态变化的,hash table的size
也不太好定。
有没有dual-key binary search tree之类的数据结构呢?
f*******y
发帖数: 988
2
要我看单独设置一个id和name的lookup表,加一个按照id或者name的树

size

【在 g*********s 的大作中提到】
: 比如一个记录,id和name都是unique的,都可以用来做key。现在有这样一组记录,插
: 入/删除/查询的操作很频繁,而且可能用name也可能用id作key。用什么数据结构比较
: 好?
: 最简单的想法是两个balanced BST,一个用id作key,一个用name,但这样等于时间空
: 间都double了,虽然复杂度不变。
: 两个hash table的话也是同样的问题。另外因为记录是动态变化的,hash table的size
: 也不太好定。
: 有没有dual-key binary search tree之类的数据结构呢?

g*****g
发帖数: 34805
3
简单的数据库就很好用,做两个索引就得。
其实就是两个hashtable. 绝大多数情况下,
不应该考虑去实现自己的数据结构,这本身
就不符合OO的思想。
在一个量级上,应该先问的是性能够了吗,够了
就是够了。

size

【在 g*********s 的大作中提到】
: 比如一个记录,id和name都是unique的,都可以用来做key。现在有这样一组记录,插
: 入/删除/查询的操作很频繁,而且可能用name也可能用id作key。用什么数据结构比较
: 好?
: 最简单的想法是两个balanced BST,一个用id作key,一个用name,但这样等于时间空
: 间都double了,虽然复杂度不变。
: 两个hash table的话也是同样的问题。另外因为记录是动态变化的,hash table的size
: 也不太好定。
: 有没有dual-key binary search tree之类的数据结构呢?

f*******y
发帖数: 988
4
他可能是作业题

【在 g*****g 的大作中提到】
: 简单的数据库就很好用,做两个索引就得。
: 其实就是两个hashtable. 绝大多数情况下,
: 不应该考虑去实现自己的数据结构,这本身
: 就不符合OO的思想。
: 在一个量级上,应该先问的是性能够了吗,够了
: 就是够了。
:
: size

s******e
发帖数: 431
5
空间怎么会double呢?你只需要为数据分配一次空间,两个hash table, 或者BST都只
需要记录数据的地址就可以了。
查找还是一样的。唯一不同的就是插入和删除需要做两次。

size

【在 g*********s 的大作中提到】
: 比如一个记录,id和name都是unique的,都可以用来做key。现在有这样一组记录,插
: 入/删除/查询的操作很频繁,而且可能用name也可能用id作key。用什么数据结构比较
: 好?
: 最简单的想法是两个balanced BST,一个用id作key,一个用name,但这样等于时间空
: 间都double了,虽然复杂度不变。
: 两个hash table的话也是同样的问题。另外因为记录是动态变化的,hash table的size
: 也不太好定。
: 有没有dual-key binary search tree之类的数据结构呢?

1 (共1页)
进入Programming版参与讨论
相关主题
有什么教程分析Java常见面试题的复杂度的?被同事吐槽,LINQ用的太多
求推荐数据结构的书 (转载)求助一个数据结构的求时间复杂度问题
[C++] 这里的Name lookup具体是一个什么样的过程?阅读Robert Sedgewick的"algorithms in C"的感受
[合集] 讨论一道很简单的题...请问stl里面的vector, map, set都是用什么数据结构实现的
请构造个数据结构,满足:推荐下讲《数据结构》的英文教材
弱弱的问问跟hash有关的问题 (转载)C++动态2维数组用什么数据结构比较好?
请教大家一个问题 (转载)In order to optimize for insert/lookup, use a map or a hash map??
有什么方法可以优化hashtable?弱弱的问问hash, hashtable? (转载)
相关话题的讨论汇总
话题: 数据结构话题: key话题: name话题: 双键话题: 记录