微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/c/115764.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐