标签: hashtable

对HashTable性能问题感到好奇

我读到Haskell中的哈希表存在性能问题(2006 年的Haskell-Cafe和2009年的Flying Frog Consultancy的博客),因为我喜欢Haskell,所以我很担心.

那是一年前,现在的状况是什么(2010年6月)?GHC中是否修复了"哈希表问题"?

haskell hashtable ghc

50
推荐指数
3
解决办法
1万
查看次数

为什么C标准库中没有哈希表?

为什么标准C库中没有Hashtable支持?这有什么具体原因吗?

c hashtable

50
推荐指数
3
解决办法
5万
查看次数

最简洁的方法来初始化C#哈希表

C#是否允许在单行表达式中填充哈希表?我正在考虑与以下Python相当的东西:

mydict = {"a": 23, "b": 45, "c": 67, "d": 89}
Run Code Online (Sandbox Code Playgroud)

换句话说,是否可以在单独的表达式中设置每个键值对?

c# hashtable

48
推荐指数
1
解决办法
2万
查看次数

哈希表 - 为什么它比数组更快?

如果我有一个每个元素的键并且我不知道元素的索引到数组中,则哈希表比数组(O(1)vs O(n))表现更好.

这是为什么?我的意思是:我有一个密钥,我哈希它...我有哈希..算法不应该比较这个哈希与每个元素的哈希?我觉得记忆性格背后有一些技巧,不是吗?

algorithm hash performance hashtable

47
推荐指数
5
解决办法
5万
查看次数

Hashtable和Collections.synchronizedMap(HashMap)之间的区别

据我所知,java.util.Hashtable同步java.util.Map接口中的每个方法,同时Collections.synchronizedMap(hash_map)返回一个包装器对象,其中包含将调用委托给实际的同步方法hash_map(如果我错了,请纠正我).

我有两个问题:

  1. 它与同步每个方法和包装类有什么区别?有哪些方案可以选择其中一种?

  2. 我们这样做会发生什么Collections.synchronizedMap(hash_table)?这是否等于简单地使用正常java.util.Hashtable

java collections synchronization hashtable hashmap

46
推荐指数
2
解决办法
2万
查看次数

链式哈希表与开放式哈希表

有人可以解释两种实现之间的主要区别(优点/缺点)吗?

对于库,建议使用什么实现?

c hashtable data-structures

45
推荐指数
1
解决办法
3万
查看次数

高性能Haskell散列结构.

我正在编写有很多表查找的程序.因此,我仔细阅读Haskell的文档时,我偶然发现了Data.Map(当然),但也Data.HashMapData.Hashtable.我不是哈希算法的专家,在检查包之后,它们看起来都非常相似.因此我想知道:

1:如果有什么主要差异?

2:在大约4000个键值对的地图/表上进行大量查找,哪个性能最高?

haskell hashtable hashmap

45
推荐指数
2
解决办法
1万
查看次数

迭代对象哈希表

我正在尝试使用哈希表,以便我可以选择存储在数组/对象中的特定对象.但是,我在循环对象时遇到问题.

var pins= {};
pins[6] = '6';
pins[7] = '7';
pins[8] = '8';

$('#result3').append('<div>Size: ' + Object.size(pins) + '</div>');
for(var i = 0; i < Object.size(pins); i++) {
    $('#result3').append('<div>' + pins[i] + '</div>');
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http://jsfiddle.net/7TrSU/

正如您所看到的那样TEST 3,使用object pin来存储数据,我undefined在循环访问对象时得到了pin.

循环的正确方法是pin什么?

编辑

如果不是pin[6] = '6',我会使pin [6] =一个对象并且我想循环遍历它们的所有id属性会发生什么?我正在做的实际代码片段......

for(var i = 0; i < json.length; i++) {
    markerId = json[i].listing_id

    // Place markers on map
    var …
Run Code Online (Sandbox Code Playgroud)

javascript hashtable

44
推荐指数
5
解决办法
6万
查看次数

如何在C#中创建包含不同类型的Dictionary

我需要某种方式来存储键/值对,其中值可以是不同类型.

所以我喜欢这样做:

 int i = 12;
 string s = "test";
 double x = 24.1;

 Storage.Add("age", i);
 Storage.Add("name", s);
 Storage.Add("bmi", x);
Run Code Online (Sandbox Code Playgroud)

然后用以下方法检索值:

 int a = Storage.Get("age");
 string b = Storage.Get("name");
 double c = Storage.Get("bmi");
Run Code Online (Sandbox Code Playgroud)

这样的存储应该如何?谢谢,Erik

c# dictionary hashtable

43
推荐指数
4
解决办法
5万
查看次数

如何获取Lua中哈希表中的键数?

myTable = {}
myTable["foo"] = 12
myTable["bar"] = "blah"
print(#myTable) -- this prints 0
Run Code Online (Sandbox Code Playgroud)

我是否真的必须遍历表中的项目才能获得密钥数量?

numItems = 0
for k,v in pairs(myTable) do
    numItems = numItems + 1
end
print(numItems) -- this prints 2
Run Code Online (Sandbox Code Playgroud)

lua hashtable

42
推荐指数
3
解决办法
3万
查看次数