perl-Tree-SizeBalanced-2.006002-alt1.1.i586.rpm


Advertisement

Description

perl-Tree-SizeBalanced - Size balanced binary search tree (XS implementation)

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports i586
Package filename perl-Tree-SizeBalanced-2.006002-alt1.1.i586.rpm
Package name perl-Tree-SizeBalanced
Package version 2.006002
Package release alt1.1
Package architecture i586
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 707.82 KB
Installed size 707.82 KB
Quoted from http://wcipeg.com/wiki/Size_Balanced_Tree:
=encoding UTF-8
> A size balanced tree (SBT) is a self-balancing binary search tree (BBST) first published by Chinese student Qifeng Chen in 2007. The tree is rebalanced by examining the sizes of each node's subtrees. Its abbreviation resulted in many nicknames given by Chinese informatics competitors, including "sha bi" tree (Chinese: .'O.N'.o'; pinyin: sh.' b.A shav; literally meaning "dumb cunt tree") and "super BT", which is a homophone to the Chinese term for snot (Chinese: .'O.c'; pinyin: badtaE) suggesting that it is messy to implement. Contrary to what its nicknames suggest, this data structure can be very useful, and is also known to be easy to implement. Since the only extra piece of information that needs to be stored is sizes of the nodes (instead of other "useless" fields such as randomized weights in treaps or colours in red.e'black tress), this makes it very convenient to implement the select-by-rank and get-rank operations (easily transforming it into an order statistic tree). It supports standard binary search tree operations such as insertion, deletion, and searching in O(log n) time. According to Chen's paper, "it works much faster than many other famous BSTs due to the tendency of a perfect BST in practice."
For performance consideration, this module provides trees with many stricter types.
If you choose any scalar as the key type, you must provide a comparing sub.
The comparing sub should exammed localized `$a' and `$b' (or `$::a' and `$::b' if there are introduced lexical <$a> and <$b> right outside the sub).
And if your comparing sub using an indirect way to judge the size of the keys,
don't do anything that will change the judge result. Or, the tree will be confused and give you incorrect results.
If you put more than one entries with equal-sized keys,
the insertion order is preserved by treating the first one as the smallest one among them.
PS. Qifeng Chen is .''.'U.uO in simplified Chinese.
This module has been tested ...

Alternatives

Package Version Architecture Repository
perl-Tree-SizeBalanced-2.006002-alt1.1.x86_64.rpm 2.006002 x86_64 Autoimports
perl-Tree-SizeBalanced - - -

Requires

Name Value
/usr/lib/perl5 -
libc.so.6(GLIBC_2.1.3) -
libc.so.6(GLIBC_2.4) -
libperl-5.28.so -
perl(AutoLoader.pm) -
perl(XSLoader.pm) -
rpmlib(PayloadIsLzma) -
rpmlib(SetVersions) -
rtld(GNU_HASH) -

Provides

Name Value
perl(Tree/SizeBalanced.pm) = 2.006.002
perl(Tree/SizeBalanced/any_any.pm) -
perl(Tree/SizeBalanced/any_int.pm) -
perl(Tree/SizeBalanced/any_num.pm) -
perl(Tree/SizeBalanced/any_void.pm) -
perl(Tree/SizeBalanced/int_any.pm) -
perl(Tree/SizeBalanced/int_int.pm) -
perl(Tree/SizeBalanced/int_num.pm) -
perl(Tree/SizeBalanced/int_void.pm) -
perl(Tree/SizeBalanced/num_any.pm) -
perl(Tree/SizeBalanced/num_int.pm) -
perl(Tree/SizeBalanced/num_num.pm) -
perl(Tree/SizeBalanced/num_void.pm) -
perl(Tree/SizeBalanced/str_any.pm) -
perl(Tree/SizeBalanced/str_int.pm) -
perl(Tree/SizeBalanced/str_num.pm) -
perl(Tree/SizeBalanced/str_void.pm) -
perl-Tree-SizeBalanced = 2.006002-alt1.1

Download

Type URL
Mirror ftp.altlinux.org
Binary Package perl-Tree-SizeBalanced-2.006002-alt1.1.i586.rpm
Source Package perl-Tree-SizeBalanced-2.006002-alt1.1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    
    rpm [Sisyphus] http://ftp.altlinux.org/pub/distributions/ALTLinux/autoimports/Sisyphus i586 autoimports
    rpm [Sisyphus] http://ftp.altlinux.org/pub/distributions/ALTLinux/autoimports/Sisyphus noarch autoimports
    
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-Tree-SizeBalanced rpm package:
    # sudo apt-get install perl-Tree-SizeBalanced

Files

Path
/usr/lib/perl5/Tree/SizeBalanced.pm
/usr/lib/perl5/Tree/SizeBalanced.pm.gen
/usr/lib/perl5/Tree/SizeBalanced/any_any.pm
/usr/lib/perl5/Tree/SizeBalanced/any_int.pm
/usr/lib/perl5/Tree/SizeBalanced/any_num.pm
/usr/lib/perl5/Tree/SizeBalanced/any_void.pm
/usr/lib/perl5/Tree/SizeBalanced/int_any.pm
/usr/lib/perl5/Tree/SizeBalanced/int_int.pm
/usr/lib/perl5/Tree/SizeBalanced/int_num.pm
/usr/lib/perl5/Tree/SizeBalanced/int_void.pm
/usr/lib/perl5/Tree/SizeBalanced/num_any.pm
/usr/lib/perl5/Tree/SizeBalanced/num_int.pm
/usr/lib/perl5/Tree/SizeBalanced/num_num.pm
/usr/lib/perl5/Tree/SizeBalanced/num_void.pm
/usr/lib/perl5/Tree/SizeBalanced/str_any.pm
/usr/lib/perl5/Tree/SizeBalanced/str_int.pm
/usr/lib/perl5/Tree/SizeBalanced/str_num.pm
/usr/lib/perl5/Tree/SizeBalanced/str_void.pm
/usr/lib/perl5/auto/Tree/
/usr/lib/perl5/auto/Tree/SizeBalanced/SizeBalanced.so
/usr/lib/perl5/auto/Tree/SizeBalanced/autosplit.ix
/usr/share/doc/perl-Tree-SizeBalanced-2.006002/Changes
/usr/share/doc/perl-Tree-SizeBalanced-2.006002/README

See Also

Package Description
perl-Tree-Ternary_XS-0.04-alt4.1.i586.rpm perl module Tree-Ternary_XS
perl-Try-0.03-alt4.1.i586.rpm nicer exception handling syntax
perl-TryCatch-1.003002-alt8_21.i586.rpm First class try catch semantics for Perl, without source filters
perl-Type-Tiny-XS-0.016-alt1.i586.rpm provides an XS boost for some of Type::Tiny's built-in type constraints
perl-UMLS-SenseRelate-0.29-alt4.1.i586.rpm A suit of Perl modules that implement the
perl-UMLS-SenseRelate-scripts-0.29-alt4.1.i586.rpm UMLS-SenseRelate scripts
perl-UNIVERSAL-has-0.05-alt4.1.i586.rpm Returns the methods an object can call
perl-UNIVERSAL-ref-0.14-alt9_28.i586.rpm Turns ref() into a multimethod
perl-UNIX-Cal-0.01-alt4.1.i586.rpm perl module UNIX-Cal
perl-URI-Encode-XS-0.11-alt2.1.i586.rpm a Perl URI encoder/decoder using C
perl-URI-Fast-0.49-alt1.i586.rpm A fast(er) URI parser
perl-URI-XSEscape-0.001000-alt3.1.i586.rpm Fast XS URI-escaping library, replacing URI::Escape
perl-USB-LibUSB-0.09-alt1.i586.rpm Perl interface to the libusb-1.0 API
perl-UV-1.000009-alt1.i586.rpm perl interface to libuv
perl-Ufal-MorphoDiTa-1.9.2.1-alt3.1.i586.rpm Bindings to MorphoDiTa library
Advertisement
Advertisement