Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ebiggers/avl_tree
High performance C implementation of AVL trees
https://github.com/ebiggers/avl_tree
Last synced: 10 days ago
JSON representation
High performance C implementation of AVL trees
- Host: GitHub
- URL: https://github.com/ebiggers/avl_tree
- Owner: ebiggers
- License: cc0-1.0
- Created: 2014-07-30T01:40:32.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-05-22T06:49:22.000Z (over 5 years ago)
- Last Synced: 2024-11-08T20:45:16.041Z (about 1 month ago)
- Language: C
- Size: 17.6 KB
- Stars: 98
- Watchers: 8
- Forks: 22
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- AwesomeCppGameDev - avl_tree
README
# Overview
This is a zero-dependency, high performance C implementation of AVL trees. It
is intended to be incorporated into C programming projects that need to use
self-balancing binary search trees.This implementation is "intrusive", meaning that the tree node structure must be
embedded inside the data structure to be indexed in the tree. This is the style
commonly used in kernel data structures. This is actually the more general
style of implementation; a void pointer and comparison callback-based
implementation can (but does not have to be) be built on top of it.This implementation is non-recursive, so it does not suffer from stack
overflows.# Features
Briefly, the supported operations are:
- Insertion
- Deletion
- Search
- In-order traversal (forwards and backwards)
- Post-order traversalSee avl_tree.h for details.
# Files
- avl_tree.h: Interface and inline functions.
- avl_tree.c: Non-inline functions.
- test.c: A test program.# License
This code and its accompanying files have been released into the public domain.
There is NO WARRANTY, to the extent permitted by law. See the CC0 Public Domain
Dedication in the COPYING file for details.