我正在研究 Core Foundation 和 CFDictionary,在Apple 文档中我发现了这个,
对于任何实现,CFDictionary 对象中值的访问时间保证在最坏情况下为 O(log N),但通常为 O(1)(恒定时间)。插入或删除操作通常也是在恒定时间内进行的,但在最坏的情况下是 O(N*log N)。通过键访问值比直接访问它们更快。字典往往比具有相同数量值的数组使用更多的内存
令我惊讶的是,在CFDictionary source中,我发现了这个,
对于任何当前和未来的实现,字典中值的访问时间保证在最坏的情况下为 O(N),但通常为 O(1)(恒定时间)。插入或删除操作通常也是常数时间,但在某些实现中最坏的情况是 O(N*N)。通过键访问值比直接访问值更快(如果有任何此类操作)。与具有相同数量值的数组相比,字典往往会使用更多的内存。
为什么会有这样的差异..?还是我找错地方了?
编辑:在苹果 OpenSource Browser中,为什么有这么多看起来像 Core Foundation 不同版本的文件夹,是吗?其中哪一个是最新的/相关的?