标签: arrays linux bash hashtable space-complexity
在man的{{1}}页中,有一句话说
man
对数组的大小没有最大限制,也没有对成员进行索引或连续分配的要求。
这意味着我可以做这样的事情:
bash 5.0.7
当数组稀疏时,我无法在官方手册页或在线上找到有关此类数组的空间复杂性的任何信息。如果我在元素381425381或其他地方初始化一个数组,那么内部实现肯定会将数据存储在哈希表中,而不在它下面分配381425380空间吗?这似乎是合理的选择。如果这是正确的,那么是否有任何文档可以证实这是如何实现的?
答案 0 :(得分:0)
从mirror of bash看来,
数组是稀疏的双向链接列表。元素的索引随它一起存储。
那是的,稀疏数组是节省空间的,只有有效的索引会占用空间。