|
|
|
Date Posted: |
March 29th, 2001
|
|
|
Last Updated: |
March 29th, 2001
|
|
|
License: |
LGPL |
|
|
Downloads: |
771 total; 9 recently |
|
|
Page Views: |
6,969 total |
|
|
User Rating: |
awaiting 10 votes |
 |
|
Jump to the Downloads section |
|
 |
 |
About AVLDupTree:
AVL Balanced Binary Tree with Duplicates handling and a stylish GUI Demo.
Short: AVL Balanced Binary Tree with Duplicates handling and GUI Demo.
Author: agmsmith@achilles.net (Alexander G. M. Smith)
Uploader: agmsmith@achilles.net (Alexander G. M. Smith)
Website: http://www.achilles.net/~agmsmith/
Version: 1.0
Type: Development/Example Code
Requires: BeOS 5.0+
AVLDupTree is a set of C subroutines (not C++, so you can use it in drivers) that is useful for indexing a set of key/value pairs, using the key to find a matching value. The standard AVL balanced binary tree algorithm is enhanced to support multiple values for the same key. It is designed for future use in a file system to support fast attribute indexing and queries, but you can use it for other things.
The API supports these operations:
Create a tree, with a specified data type for keys and another for values (choose from C string (any length), int32, int64, float, double). Optionally enable multitasking protection - which allows N simultaneous readers or one writer.
Deallocate a tree and its contents.
Add a key/value pair.
Delete a key/value pair.
Iterate over the tree. This uses a callback function for efficiency, so you can process a large batch of key/values in one operation rather than having a "find" operation to find individual ones. It is generalized to efficiently iterate over an optionally open ended range of keys, optionally including the ones equal to your range limits (the difference between less-than-or-equal and less-than), making it ideal for query processing.
AGMSAVLTest is a BeOS GUI program for testing the tree library and demonstrating the tree operations via a graphical display of the tree. It also has a cool subtle colour cycling effect.
AVLDupTree is released under the GNU Lesser General Public License. The AGMSAVLTest program is released as public domain.
- Alex (Ottawa, March 2001)
|
 |
|
 |
Latest Version |
 |
|
 |
| |
 |
|
Details about this version:
Version 1.0 is the initial version, supporting basic Add, Delete and Range Iterate operations.
|
| |
 |
|
Intel Version - requires R5 (157 KB) |
771 downloads |
|
 |
|
 |
 |
| |
  |
[rating: 10] |
|
 |
Computer Channel (Germany) |
  |
[rating: 10] |
|
 |
Author's Backup Site (Ontario, Canada) |
  |
[rating: 10] |
|
 |
Author's Site (Ontario, Canada) |
|
|
| Add Additional Location |
 |
|
 |
|
| Source Included |
 |
 |
 |
 |
 |
Like this app? Have questions or comments?
Why not tell the author? Use the "e-mail publisher" link to get in touch with the publisher; they usually love getting feedback.
|
|
 |
 |
|
 |
 |
 |
 |
 |
 |
 |
|
|
 |
 |
 |
| |
Recent Downloads - # 1,538
Total Downloads - # 2,222
Total Views - # 2,546
User Ratings - N/A
|
 |
 |
 |
 |
| |
Example Code
|
 |
 |
 |
 |
 |
1. BePodder - 9.80
2. QEMU - 9.68
3. ScummVM - 9.57
4. cpu_fix - 9.42
5. Jukebox - 9.40
6. libdl.so - 9.40
7. Haiku AGP busm... - 9.35
8. vim6 - 9.31
9. Beezer - 9.26
10. HandBrake - 9.25
|
 |
 |
 |
 |
 |
1. BeOS 5 Perso... - 13,534
2. Realtek RTL8... - 13,074
3. Ati Radeon G... - 12,513
4. Ensoniq Audio... - 7,530
5. ATI Rage 128... - 7,426
6. USB Joystick... - 5,632
7. Broadcom 440x... - 5,396
8. USB Serial dr... - 4,700
9. S3 Trio 64 v2... - 4,697
10. Intel Extreme... - 4,457
|
 |
 |
 |
 |
| You are not logged in.
Login
|
 |
 |
 |
 |
|