【发布时间】:2017-03-19 16:38:32
【问题描述】:
Objective-C 中系统框架是否提供类似 Min/Max Heap 或 Priority Queue 的数据结构?
我可以自己实现或使用第三方库,但我只是好奇系统是否已经像 Java 那样提供它。
【问题讨论】:
标签: ios objective-c iphone macos
Objective-C 中系统框架是否提供类似 Min/Max Heap 或 Priority Queue 的数据结构?
我可以自己实现或使用第三方库,但我只是好奇系统是否已经像 Java 那样提供它。
【问题讨论】:
标签: ios objective-c iphone macos
对于优先级队列:没有。Cocoa 中没有通用标准,即使像 NSOperationQueue 这样的类也使用优先级队列。
对于最小-最大堆:不。而且你永远找不到。最小最大堆是实现优先级队列的结构。 Cocoa 的 API 永远不会建立在实现之上,而是来自最终集合。 IE。你有NSArray 用于订购的集合。有几种结构用于实现该数组。但是你总是得到最终产品NSArray,独立于内部使用的结构。
这是Cocoa的设计原则。
因此,如果某人(Apple、其他人、您)实现了优先级队列,他可能会使用 min-max 堆。但是你永远不会知道,如果它是按照 Cocoa 的概念来实现的。
【讨论】: