1// SPDX-License-Identifier: ISC
2// Copyright (c) 2014-2020 Bitmark Inc.
3// Use of this source code is governed by an ISC
4// license that can be found in the LICENSE file.
5
6// Package avl - an AVL balanced tree with the addition of parent
7// pointers to allow iteration through the nodes
8//
9// Note: an individual tree is not thread safe, so either access only
10//       in a single go routine or use mutex/rwmutex to restrict
11//       access.
12//
13// The base algorithm was described in an old book by Niklaus Wirth
14// called Algorithms + Data Structures = Programs.
15//
16// This version allows for data associated with key, which can be
17// overwritten by an insert with the same key.  Also delete no does
18// not copy data around so that previous nodes can be deleted during
19// iteration.
20package avl
21