Cocoa Touch有搜索树数据结构吗?

sch*_*tic 11 cocoa-touch objective-c binary-search-tree ios data-structures

我一直在谷歌上看这个并阅读SDK文档中的Collections条目,但没有透露任何信息.iOS SDK是否有开箱即用的BST(任何变体)实现?

一个主要的开发平台缺少一些基本的东西似乎很奇怪.他们的哈希实现是否那么神奇?或者开发人员假设没有人会对有订单的东西进行插入/删除?

NSSet现在可以使用,因为我知道我们大多数人(包括我自己)并没有真正在iOS上编写任何需要保证访问时间的大量计算,但它仍然在啃着我.

pas*_*aya 6

CFBinaryHeap看起来很有前途和有用,但它可能不是你想要的,因为它不是真正的二叉搜索树而是.它们是相似的,但不一样,所以我觉得Core Foundation的CFTree类可能会好一些.以下是CFTree类引用的描述:

您可以使用CFTree创建表示分层信息组织的树结构.在这样的结构中,每个树节点只有一个父树(除了根树,没有父树),并且可以有多个子节点.

如果你对C不熟悉(Core Foundation是C,而不是Objective-C),你可以使用JKPTree库,它是CFTree的Objective-C包装器.你可以在这里下载.

更新:

我刚刚找到另一个名为CHDataStructures的库,它简化了各种数据结构的创建.它支持以下数据结构(以及许多其他未列出的数据结构):

  • AVL树
  • 抽象二进制搜索树
  • 安德森树
  • 链接列表
  • 搜索树
  • 红黑树
  • 不平衡的树
  • 队列
  • 您可以在此处下载CHDataStructures .