algotutor - an interactive program for observing the intermediate steps of algorithms.

- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
- LICENSE
- AUTHOR
- SEE ALSO

# NAME

algotutor - an interactive program for observing the intermediate steps of algorithms.

# SYNOPSIS

algotutor [OPTION] ... DATA ...

# DESCRIPTION

algotutor is an interactive program for observing the intermediate steps of algorithms. The target audience is computer science students and/or anyone who studies algorithms and/or data structures. One can create data files in plain text format (actually perl anonymous hashes, but one need not care) and let algotutor runs through some predefined algorithm. Then one can step backward and forward through the execution sequence of the algorithm at different levels of details. It requires perl-Tk.

DATA is the input data. For the dynamic programming algorithms such as lcs and matc, please see the respective entries in the following list; for other algorithms, it is the file name containing the actual input data.

# OPTIONS

-a ALGO
  Runs the algorithm ALGO. Currently ALGO can be one of:

bst operations on binary search trees
rbt operations on red-black trees (remove() is not implemented yet)
heap operations on heaps -- the remove operation on a heap always removes the top element regardless of the argument
sbs stack-based search on graphs, a variant of depth first search
bfs breadth first search on graphs
prim Prim's minimal spanning tree on graphs
dijk Dijkstra's single-source shortest path on graphs
flwa Floyd-Warshall's all-pair shortest path on graphs (very, very slow)
dom 2-dimensional point domination
graham Graham's scan for convex hull
lcs longest common subsequence -- it requires two strings as the command line arguments. For example, `algotutor -a lcs AGCTATACGATGACT GTCAGTATAGTCATATG`
matc optimal matrix chain multiplication -- it requires an alternating sequence of integers and matrix names as the command line arguments. For example, `algotutor -a matc 32 A 35 B 24 C 30 D 36 E 25 F 40 G 34 H 35` means finding the optimal multiplication sequence of the chain of matrices: A of size 32 by 35, B of size 35 by 24, ... H of size 34 by 35.

-s VERTEX
  Use VERTEX as the starting vertex (for sbs, bfs, prim, and dijk)

-i STEP
  Display step STEP as the initial image.

-d FILENAME
  Dump the picture into FILENAME as a ps file and exit immediately without going into interactive mode.

# LICENSE

This code is distributed under the GNU General Public License

# AUTHOR

Chao-Kuei Hung ckhung AT ofset DOT org

# SEE ALSO

Please see /usr/share/doc/algotutor/doc/ for examples and the full set of documentations.