mirror of
https://github.com/willnorris/imageproxy.git
synced 2024-12-16 21:56:43 -05:00
add missing LICENSE and README file from vendored libs
This commit is contained in:
parent
1bdb3358b4
commit
8401001333
2 changed files with 93 additions and 0 deletions
27
vendor/github.com/petar/GoLLRB/LICENSE
generated
vendored
Normal file
27
vendor/github.com/petar/GoLLRB/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
Copyright (c) 2010, Petar Maymounkov
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
(*) Redistributions of source code must retain the above copyright notice, this list
|
||||
of conditions and the following disclaimer.
|
||||
|
||||
(*) Redistributions in binary form must reproduce the above copyright notice, this
|
||||
list of conditions and the following disclaimer in the documentation and/or
|
||||
other materials provided with the distribution.
|
||||
|
||||
(*) Neither the name of Petar Maymounkov nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
66
vendor/github.com/petar/GoLLRB/README.md
generated
vendored
Normal file
66
vendor/github.com/petar/GoLLRB/README.md
generated
vendored
Normal file
|
@ -0,0 +1,66 @@
|
|||
# GoLLRB
|
||||
|
||||
GoLLRB is a Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary
|
||||
search trees in Go Language.
|
||||
|
||||
## Overview
|
||||
|
||||
As of this writing and to the best of the author's knowledge,
|
||||
Go still does not have a balanced binary search tree (BBST) data structure.
|
||||
These data structures are quite useful in a variety of cases. A BBST maintains
|
||||
elements in sorted order under dynamic updates (inserts and deletes) and can
|
||||
support various order-specific queries. Furthermore, in practice one often
|
||||
implements other common data structures like Priority Queues, using BBST's.
|
||||
|
||||
2-3 trees (a type of BBST's), as well as the runtime-similar 2-3-4 trees, are
|
||||
the de facto standard BBST algoritms found in implementations of Python, Java,
|
||||
and other libraries. The LLRB method of implementing 2-3 trees is a recent
|
||||
improvement over the traditional implementation. The LLRB approach was
|
||||
discovered relatively recently (in 2008) by Robert Sedgewick of Princeton
|
||||
University.
|
||||
|
||||
GoLLRB is a Go implementation of LLRB 2-3 trees.
|
||||
|
||||
## Maturity
|
||||
|
||||
GoLLRB has been used in some pretty heavy-weight machine learning tasks over many gigabytes of data.
|
||||
I consider it to be in stable, perhaps even production, shape. There are no known bugs.
|
||||
|
||||
## Installation
|
||||
|
||||
With a healthy Go Language installed, simply run `go get github.com/petar/GoLLRB/llrb`
|
||||
|
||||
## Example
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/petar/GoLLRB/llrb"
|
||||
)
|
||||
|
||||
func lessInt(a, b interface{}) bool { return a.(int) < b.(int) }
|
||||
|
||||
func main() {
|
||||
tree := llrb.New(lessInt)
|
||||
tree.ReplaceOrInsert(1)
|
||||
tree.ReplaceOrInsert(2)
|
||||
tree.ReplaceOrInsert(3)
|
||||
tree.ReplaceOrInsert(4)
|
||||
tree.DeleteMin()
|
||||
tree.Delete(4)
|
||||
c := tree.IterAscend()
|
||||
for {
|
||||
u := <-c
|
||||
if u == nil {
|
||||
break
|
||||
}
|
||||
fmt.Printf("%d\n", int(u.(int)))
|
||||
}
|
||||
}
|
||||
|
||||
## About
|
||||
|
||||
GoLLRB was written by [Petar Maymounkov](http://pdos.csail.mit.edu/~petar/).
|
||||
|
||||
Follow me on [Twitter @maymounkov](http://www.twitter.com/maymounkov)!
|
Loading…
Reference in a new issue