objective-c – Cocoa Touch是否具有搜索树数据结构?

前端之家收集整理的这篇文章主要介绍了objective-c – Cocoa Touch是否具有搜索树数据结构?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Google上一直在研究这个问题,并在SDK文档中阅读了集合条目,没有发现任何内容.有没有一个BST(任何其变体)实现可用开箱即用的iOS SDK?

似乎很奇怪,一个主要的发展平台将会丢失一些如此基本的东西.他们的哈希实现是那么神奇吗?或者开发商假设没有人会对有订单的东西进行插入/删除

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

解决方法

CFBinaryHeap看起来很有前景,但实际上可能并不完全是你想要的,因为它不是一个二进制搜索树,而是一个 heap.它们是相似的,但不一样,所以我觉得Core Foundation的 CFTree类可能有点更好.以下是CFTree类参考的说明:

You use CFTree to create tree structures that represent hierarchical organizations of information. In such structures,each tree node has exactly one parent tree (except for the root tree,which has no parent) and can have multiple children.

如果你对C(Core Foundation是C,而不是Objective-C)不舒服,可以使用CFTree的Objective-C包装器的JKPTree库.你可以下载它here.

更新:

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

> AVL树
>抽象二叉搜索
>安德森树
>链接列表
>搜索
>红黑树
>不平衡树
>队列
>堆

您可以下载CHDataStructures here.

猜你在找的C&C++相关文章