Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用hashmap的空间复杂度。应该考虑密钥大小吗?_Java_Hash - Fatal编程技术网

Java 使用hashmap的空间复杂度。应该考虑密钥大小吗?

Java 使用hashmap的空间复杂度。应该考虑密钥大小吗?,java,hash,Java,Hash,在java中,我们通常认为使用哈希表的空间复杂度是O(n)。我们是否也应该考虑密钥大小,如果密钥非常大呢 这取决于键的大小和存储在哈希表(即n)中的元素数之间的关系。如果密钥的大小是 n>代码>的函数,则在计算空间复杂度时,必须考虑密钥的大小。哈希表的值也是如此 但是,我认为,在大多数情况下,可以安全地假设键的大小(无论有多大)是一个常量,而不是一个取决于键的大小和哈希表中存储的元素数(即n)之间关系的n。如果密钥的大小是 n>代码>的函数,则在计算空间复杂度时,必须考虑密钥的大小。哈希表的值也

在java中,我们通常认为使用哈希表的空间复杂度是O(n)。我们是否也应该考虑密钥大小,如果密钥非常大呢

这取决于键的大小和存储在哈希表(即
n
)中的元素数之间的关系。如果密钥的大小是<代码> n>代码>的函数,则在计算空间复杂度时,必须考虑密钥的大小。哈希表的值也是如此


但是,我认为,在大多数情况下,可以安全地假设键的大小(无论有多大)是一个常量,而不是一个取决于键的大小和哈希表中存储的元素数(即
n
)之间关系的
n

。如果密钥的大小是<代码> n>代码>的函数,则在计算空间复杂度时,必须考虑密钥的大小。哈希表的值也是如此

但是,我认为,在大多数情况下,可以安全地假设键的大小(无论多大)是一个常量,而不是
n
的函数