首页 > 解决方案 > 在 JavaScript 中存储字符串的空间复杂度是多少?

问题描述

是否存储字符串 O(1) 空间?我对此感到非常困惑,因为很多人同时说它的 O(1) 和 O(n) ......有人可以帮我解决这个问题吗?我真的需要它来练习我的面试。谢谢!!

标签: javascriptstringbig-ospace-complexity

解决方案


O(1) 仅对复杂性而非空间有意义,因为为字符串分配的内存大小取决于它的大小。

至于复杂性:

根据语言如何实现它(堆栈或堆),堆栈的 O(1) 或堆的不确定性,因为堆分配由操作系统处理(但根据经验,它通常为 O(1)如果字符串不是很大)。

O(n) 将用于空间:

当你存储一个字符串时,基本上你所做的就是存储一个字符数组。

这将是字符串的大小,因为它随着字符串的大小线性增长(每个字符 = ASCII(8 位)字符串中的 1 个字节)。


推荐阅读