是否存在由Objective-C中的系统框架提供的数据结构的最小/最大堆或优先级队列?
我可以自己实现它或者使用第三方库,但我只是好奇系统是否像Java一样提供它。
答案 0 :(得分:1)
对于优先级队列:否.Cocoa中没有通用标准,即使NSOperationQueue
类使用优先级队列。
最小 - 最大堆:不。你永远找不到。最小 - 最大堆是实现优先级队列的结构。 Cocoa的API永远不会构建在实现之上,而是建立在最终集合之上。 I. e。对于有序集合,您有NSArray
。有几种结构用于实现该数组。但是你总是得到最终产品NSArray
独立于内部使用的结构。
这是Cocoa的设计原则。
因此,如果某人(Apple,其他人,您)实现了优先级队列,他可能会使用min-max堆。但是你永远不会知道,如果它是根据Cocoa的概念实现的。