panthema / 2007 / stx-btree / demo
Thumbnail of the B+ demo program

STX B+ Tree Demo Program

Summary

This demonstration program draws illustrations of the B+ trees constructed by the STX B+ Tree template classes. The demo allows the user to selected different types of B+ tree instantiations: integer or string keys and different slot numbers. The user may insert and erase key/data pairs from the tree and run different search operations. The demo program uses the cross-platform wxWidgets toolkit and can be compiled on Linux, Windows and MacOSX.

Download Binaries

Pick the binary built on the operating system closest to your running system. Beware that the dynamically linked Linux binaries will only work on distributions with similar library naming rules.

If the following demo binaries do not work, you can try older downloads, because all patches to the btree source code are not relevant for the demo. The B+ tree was always correct, and thus the demo was as well.

STX B+ Tree Demo Program Version 0.9 (current) released 2013-05-06
Dynamically linked binary for
Windows
stx-wxbtreedemo-0.9-win32.zip stx-wxbtreedemo-0.9-win32.zip (855 KiB)
MD5: 365bf98ba0912a47c8be6f385b84b401
The standard Debian and Ubuntu repositories now contain the demo in the stx-btree-demo package. You can simply install it using apt-get install stx-btree-demo.
Dynamically linked 32-bit binary built for
Debian Linux >= 4.0 (Etch)
Ubuntu Linux >= 7.04 (Feisty Fawn)
and some RedHat and SuSE
stx-wxbtreedemo-0.9-debian-etch32-dynamic.tar.bz2 stx-wxbtreedemo-0.9-debian-etch32-dynamic.tar.bz2 (1.02 MiB)
MD5: f9b3a512f0a07039dbf2d9fc94c70752
Dynamically linked 64-bit binary built for
Debian Linux >= 4.0 (Etch)
Ubuntu Linux >= 7.04 (Feisty Fawn)
and some RedHat and SuSE
stx-wxbtreedemo-0.9-debian-etch64-dynamic.tar.bz2 stx-wxbtreedemo-0.9-debian-etch64-dynamic.tar.bz2 (1.04 MiB)
MD5: c719e83fb69e9f92f7eaf209f15155fa
Statically linked 32-bit binary for
Debian Linux 3.1 (Sarge) with gtk+ 1.2
stx-wxbtreedemo-0.8.3-debian-sarge-gtk1-static.tar.bz2 stx-wxbtreedemo-0.8.3-debian-sarge-gtk1-static.tar.bz2 (1.91 MiB)
MD5: 2243f2d206de6801cb081b1521f2af22

See bottom of this page for older downloads.

Source Code and License

The complete source code is released under the GNU General Public License v3 (GPLv3). It is included in the source tarball of the stx-btree classes.

README

Program Usage

The easiest way to see how the demo functions is by pressing "Insert Random" and selecting 10 pairs from the popup menu. These random number pairs are then shown in the B+ tree illustration.

The operation buttons perform their respective functions on the B+ tree with the key/data input given in the two edit fields. The operation's result is printed into the text line below the buttons.

The B+ tree drawing can be scrolled using the scrollbars and zoomed using the mouse wheel (on Windows this requires the drawing to be activated by a click).

Screenshots

Screenshot 1 of wxBTreeDemo
10 random integers inserted into the default tree with 5 slots.
Screenshot 2 of wxBTreeDemo
30 random one letter keys in a string multimap tree with 7 slots. The result of an equal_range search for 'd' is highlighted.
Screenshot 3 of wxBTreeDemo
Zoomed large tree containing 200 random integers.

Older Download Binaries

STX B+ Tree Demo Program Version 0.8.3 (current) released 2008-09-07
Dynamically linked binary for
Windows
stx-wxbtreedemo-0.8.3-win32.zip stx-wxbtreedemo-0.8.3-win32.zip (726 KiB)
MD5: 232c75a582ebb4b2bb90303ff72e0358
The standard Debian and Ubuntu repositories now contain the demo in the stx-btree-demo package. You can simply install it using apt-get install stx-btree-demo.
Dynamically linked binary built with g++ 4.1 for
Debian Linux 4.0 (Etch)
Ubuntu Linux 7.04 (Feisty Fawn)
and some RedHat and SuSE
stx-wxbtreedemo-0.8.3-debian-etch-dynamic.tar.bz2 stx-wxbtreedemo-0.8.3-debian-etch-dynamic.tar.bz2 (1.03 MiB)
MD5: 99b1d1df38d957112c1827548aa03f16
Dynamically linked binary built with g++ 3.4 for
Debian Linux 3.1 (Sarge)
and some older RedHat and SuSE
stx-wxbtreedemo-0.8.3-debian-sarge-dynamic.tar.bz2 stx-wxbtreedemo-0.8.3-debian-sarge-dynamic.tar.bz2 (1.01 MiB)
MD5: fbfa7a6b7fa1cb87e364d6216ea27302
Statically linked binary for
Debian Linux 3.1 (Sarge) with gtk+ 1.2
stx-wxbtreedemo-0.8.3-debian-sarge-gtk1-static.tar.bz2 stx-wxbtreedemo-0.8.3-debian-sarge-gtk1-static.tar.bz2 (1.91 MiB)
MD5: 2243f2d206de6801cb081b1521f2af22

STX B+ Tree Demo Program Version 0.8.2 released 2008-08-13
Dynamically linked binary for
Windows
stx-wxbtreedemo-0.8.2-win32.zip stx-wxbtreedemo-0.8.2-win32.zip (730 KiB)
MD5: 441f0616c9fd96fa12061245514905a4
Dynamically linked binary built with g++ 4.1 for
Debian Linux 4.0 (Etch)
Ubuntu Linux 7.04 (Feisty Fawn)
and some RedHat and SuSE
stx-wxbtreedemo-0.8.2-debian-etch-dynamic.tar.bz2 stx-wxbtreedemo-0.8.2-debian-etch-dynamic.tar.bz2 (1.02 MiB)
MD5: 350be9747b4c60528b8b37b171ce3c13
Dynamically linked binary built with g++ 3.4 for
Debian Linux 3.1 (Sarge)
and some older RedHat and SuSE
stx-wxbtreedemo-0.8.2-debian-sarge-dynamic.tar.bz2 stx-wxbtreedemo-0.8.2-debian-sarge-dynamic.tar.bz2 (1.01 MiB)
MD5: d0d613738e67f564eb42e54e7d5bc599
Statically linked binary for
Debian Linux 3.1 (Sarge) with gtk+ 1.2
stx-wxbtreedemo-0.8.2-debian-sarge-gtk1-static.tar.bz2 stx-wxbtreedemo-0.8.2-debian-sarge-gtk1-static.tar.bz2 (1.90 MiB)
MD5: 25520be4f83db8a9068e609d7372784a

STX B+ Tree Demo Program Version 0.8.1 released 2008-01-25
Dynamically linked binary for
Windows
stx-wxbtreedemo-0.8.1-win32.zip stx-wxbtreedemo-0.8.1-win32.zip (946 KiB)
MD5: 753f4a1bc55ce2a07a244eeec514351d
Dynamically linked binary built with g++ 4.1 for
Debian Linux 4.0 (Etch)
Ubuntu Linux 7.04 (Feisty Fawn)
and some RedHat and SuSE
stx-wxbtreedemo-0.8.1-debian-etch-dynamic.tar.bz2 stx-wxbtreedemo-0.8.1-debian-etch-dynamic.tar.bz2 (970 KiB)
MD5: a51e348d9e11568efe4b5452e280afaa
Dynamically linked binary built with g++ 3.4 for
Debian Linux 3.1 (Sarge)
and some older RedHat and SuSE
stx-wxbtreedemo-0.8.1-debian-sarge-dynamic.tar.bz2 stx-wxbtreedemo-0.8.1-debian-sarge-dynamic.tar.bz2 (1.11 MiB)
MD5: 28107bf69a2fec99de075166cb3c5897
Statically linked binary for
Debian Linux 3.1 (Sarge) with gtk+ 1.2
stx-wxbtreedemo-0.8.1-debian-sarge-gtk1-static.tar.bz2 stx-wxbtreedemo-0.8.1-debian-sarge-gtk1-static.tar.bz2 (1.93 MiB)
MD5: 2d75609c5f3a23b6b9dd98e2450a83f0

STX B+ Tree Demo Program Version 0.8 released 2007-05-13
Dynamically linked binary for
Windows
stx-wxbtreedemo-0.8-win32.zip stx-wxbtreedemo-0.8-win32.zip (857 KiB)
MD5: 6a230b7c337e44c32fcdb1396d632ebf
Dynamically linked binary built with g++ 4.1 for
Debian Linux 4.0 (Etch)
Ubuntu Linux 7.04 (Feisty Fawn)
and some RedHat and SuSE
stx-wxbtreedemo-0.8-debian-etch-dynamic.tar.bz2 stx-wxbtreedemo-0.8-debian-etch-dynamic.tar.bz2 (1.04 MiB)
MD5: a8aca3e688f373d9cfe672ea73633c3e
Dynamically linked binary built with g++ 3.4 for
Debian Linux 3.1 (Sarge)
and some older RedHat and SuSE
stx-wxbtreedemo-0.8-debian-sarge-dynamic.tar.bz2 stx-wxbtreedemo-0.8-debian-sarge-dynamic.tar.bz2 (1.01 MiB)
MD5: 75a52f8c18da7fb865944fba810cb774
Statically linked binary for
Debian Linux 3.1 (Sarge) with gtk+ 1.2
stx-wxbtreedemo-0.8-debian-sarge-gtk1-static.tar.bz2 stx-wxbtreedemo-0.8-debian-sarge-gtk1-static.tar.bz2 (1.92 MiB)
MD5: c7527e6071e44064b4cc55fb704e70e6