An open API service indexing awesome lists of open source software.

https://github.com/regexident/forest

A collection of persistent immutable trees.
https://github.com/regexident/forest

binary-trees persistent-data-structure swift

Last synced: 3 months ago
JSON representation

A collection of persistent immutable trees.

Awesome Lists containing this project

README

          

![Logo](Jumbotron.png)

# Forest

**Forest**, just like any other, is a collection of trees. What else were you expecting?

## Binary Trees

### `BinaryTree`, a [persistent][1] [binary tree](https://en.wikipedia.org/wiki/Binary_tree)

A minimalist implementation of a binary tree using `indirect enum`.

## Binary Search Trees

### `AVLTree`, a [persistent][1] [AVL-Tree](https://en.wikipedia.org/wiki/AVL_tree)

### `RBTree`, a [persistent][1] [Red-Black-Tree](https://en.wikipedia.org/wiki/Red%E2%80%93black_tree)

## Benchmarks

**Forest** contains a benchmarks app.

## Installation

Just copy the files in `"Forest/Classes/..."` into your project.

Alternatively you can install **Forest** into your project with [Carthage][2] (`github 'regexident/Forest'`) or with [CocoaPods][3] (`pod 'Forest'`)

## Swift

**Forest** is implemented in 100% Swift.

## Creator

Vincent Esche ([@regexident][4])

## License

**Forest** is available under a **modified BSD-3 clause license** with the **additional requirement of attribution**. See the `LICENSE` file for more info.

[1]: https://en.wikipedia.org/wiki/Persistent_data_structure
[2]: https://github.com/Carthage/Carthage
[3]: http://cocoapods.org/
[4]: http://twitter.com/regexident