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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...