rtt-f030/components/rtgui/utils/perfect_hash
Grissiom f06c70feed sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
..
doc sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
example-C++ sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
example-PyModule sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
example-Python sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
example1-C sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
example2-C sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
graph sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
README sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
__init__.py sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
animals.txt sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
perfect_hash.py sync with rtgui-0.6 2013-02-01 10:27:10 +08:00
run sync with rtgui-0.6 2013-02-01 10:27:10 +08:00

README

perfect_hash.py

Ilan Schnell <ilanschnell@gmail.com>, 2008


Generate a minimal perfect hash function for the keys in a file,
desired hash values may be specified within this file as well.
A given code template is filled with parameters, such that the
output is code which implements the hash function.
Templates can easily be constructed for any programming language.

The code is based on an a program A.M. Kuchling wrote:
http://www.amk.ca/python/code/perfect-hash

The algorithm the program uses is described in the paper
'Optimal algorithms for minimal perfect hashing',
Z. J. Czech, G. Havas and B.S. Majewski.
http://citeseer.ist.psu.edu/122364.html


Content:

perfect_hash.py     The actual program, try $ ./perfect_hash.py animals.txt

doc                 HTML and plain text documentation

example1-C          An example which shows how to generate a C program
                    which implements a perfect hash table.

example2-C          Another example in C.

example-C++         In this C++ example, a class is used to define the
                    interface to a static lookup table.

example-PyModule    A lookup table in implemented as a C extension module
                    for Python.

example-Python      Some small Python programs which show how to access
                    some functions and classes in perfect_hash.py directly,
                    i.e. using perfect_hash has a Python module, rather
                    than a standalone program.

graph               A small program `py2dot' which converts the default python
                    output code from perfect_hash.py into a .dot-file which
                    can be used by Graphviz (see http://www.graphviz.org/) to
                    create a picture of the graph.

run                 Runs some tests.