我需要dotnet中的数据结构,我可以在常量时间内搜索项目。这意味着数据结构应该在内部实现索引。这个字典是用于此目的还是其他一些?
答案 0 :(得分:2)
是的,请使用词典<> (如果您使用的是旧版本的.NET,则为Hashtable)。确保填充在字典中的对象具有良好的哈希值(查看覆盖您在“词典”中用作键的对象的GetHashCode()和Equals())。如果您的数据对象具有较差的哈希码,性能将开始降低。是的,为了回答你的问题,哈希表/字典中的查找应该是相对恒定的时间(书籍通常说它是O(1),但这是有争议的)。查找性能将由许多因素决定: