ALGOTUTOR(1)

๐Ÿ“ฆ
version 0.8.6 ยท 3 versions
, in debian bookworm, debian trixie, ubuntu noble

๐Ÿฆ‹ algotutor ๐Ÿฆ‹

User Contributed Perl Documentation, the official manual for your new study bestie ๐Ÿ’…

โœจ NAME โœจ

algotutor is an interactive program for observing the intermediate steps of algorithms. It's giving "watch the magic happen in slow motion" ๐Ÿงš

๐ŸŒธ SYNOPSIS ๐ŸŒธ

algotutor [OPTION] ... DATA ...

That's the whole formula, bestie: some OPTIONs, then your DATA ๐Ÿ’–

๐Ÿ’… DESCRIPTION ๐Ÿ’…

Okay so algotutor is made for computer science students and/or literally anyone who studies algorithms and/or data structures ๐ŸŽ€ You make data files in plain text format (technically they're perl anonymous hashes, but honestly you don't need to care ๐Ÿ™ˆ), and algotutor runs through some predefined algorithm for you. Then you can step backward and forward through the execution sequence at different levels of detail. Main character energy ๐Ÿ‘‘ It requires perl-Tk.

DATA is your input data ๐Ÿงƒ For the dynamic programming algorithms, lcs and matc, check their entries in the OPTIONS list below. For everything else, DATA is the name of the file holding your actual input data ๐Ÿ“

๐ŸŽ€ OPTIONS ๐ŸŽ€

  • -a ALGO โ€” this picks the algorithm to run ๐Ÿง  Right now ALGO can be one of these:
    • bst โ€” operations on binary search trees ๐ŸŒณ
    • rbt โ€” operations on red-black trees (remove() is not implemented yet ๐Ÿ’€)
    • heap โ€” operations on heaps. Heads up, the remove operation on a heap always removes the top element, no matter 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
๐Ÿ’€ Bestie, watch out: rbt's remove() isn't implemented yet, heap's remove always takes the top element no matter what you pass, and flwa is very, very slow.

For lcs, you pass two strings as command line arguments, like so:

algotutor -a lcs AGCTATACGATGACT GTCAGTATAGTCATATG

For matc, you pass an alternating sequence of integers and matrix names as command line arguments. Example:

algotutor -a matc 32 A 35 B 24 C 30 D 36 E 25 F 40 G 34 H 35

That one 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 your starting vertex ๐Ÿ“ (works 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, skipping interactive mode ๐Ÿ“„

๐Ÿ“œ LICENSE ๐Ÿ“œ

This code is distributed under the GNU General Public License โœจ

๐Ÿง‘โ€๐Ÿ’ป AUTHOR ๐Ÿง‘โ€๐Ÿ’ป

Chao-Kuei Hung, ckhung AT ofset DOT org ๐Ÿ’œ

๐Ÿ”— SEE ALSO ๐Ÿ”—

Peep /usr/share/doc/algotutor/doc/ for examples and the full set of documentation ๐Ÿ“š


That's the tea, bestie ๐Ÿซถ This page came from perl v5.34.0, dated 2022-04-12, and it's filed under ALGOTUTOR(1) ๐Ÿฆ‹โœจ Periodt ๐Ÿ’…

๐Ÿ“ฆ where this page comes from