为什么字符串的空间复杂度是 O(n) 而数字是 O(1)?

nin*_*get 6 algorithm space-complexity

我对辅助空间复杂性有点迷失。

在我参加的讲座中,讲师指出字符串的空间复杂度为 O(n),因为字符串的长度 (n) 会有所不同。但诸如数字、布尔值、未定义等原语具有恒定的空间复杂度 O(1)。

我很困惑,因为如果字符串的空间长度不同,那么数字也不一样吗?因为它们也会有不同的“长度”?

我确实理解布尔值和未定义的复杂度是 O(1),我的意思是真/假、未定义和 null 是与长度无关的实例。

如果有人能为我澄清这一点,我将不胜感激。

Som*_*ame 4

在现实世界中,数字大小确实是无限的,但这里是关于数字基元的。根据定义,每个原语都需要固定数量的存储单元(这就是它只能保存有限范围的值的原因)。与数字基元不同,字符串的大小理论上是无限的,并且它占用与输入大小(即构成字符串的字符)相对应的存储空间。