javascript - 在 JavaScript 中存储字符串的空间复杂度是多少?
问题描述
是否存储字符串 O(1) 空间?我对此感到非常困惑,因为很多人同时说它的 O(1) 和 O(n) ......有人可以帮我解决这个问题吗?我真的需要它来练习我的面试。谢谢!!
解决方案
O(1) 仅对复杂性而非空间有意义,因为为字符串分配的内存大小取决于它的大小。
至于复杂性:
根据语言如何实现它(堆栈或堆),堆栈的 O(1) 或堆的不确定性,因为堆分配由操作系统处理(但根据经验,它通常为 O(1)如果字符串不是很大)。
O(n) 将用于空间:
当你存储一个字符串时,基本上你所做的就是存储一个字符数组。
这将是字符串的大小,因为它随着字符串的大小线性增长(每个字符 = ASCII(8 位)字符串中的 1 个字节)。
推荐阅读
- java - 为什么在静态上下文中访问实例化字段比在 JAVA 中访问实例化上下文更快
- angular - 当我尝试安装@angular/pwa 时。使用 ng 添加@angular/pwa。它向我显示了这个错误
- php - 我正在尝试用 Pusher 实现套接字
- javascript - 以特定方式解析嵌套对象数组
- go - 无法从超级账本结构中的链码实例将数据上传到谷歌云存储
- nginx - APIs in Cloud Run and Nginx reverse proxy in VM
- python - Python inputs from another python file
- oracle - How to pass a text file or it's path as parameter and read the file into an oracle stored procedure
- c# - Getting the text from a RichTextBox
- c# - C# which data structure is suitable for efficient querying in both ways(forward and backward)