# PL/I Algorithms PL/1

The main algorithms in "Introduction to PL/I, Algorithms, and Structured
Programming",
by R. A. Vowels (Melbourne, 1997), 731 pages, ISBN 0-9596384-9-0 are
given below.
.
Sorting: Cocktail-Shaker, Double Bubble, Shell, Heap, Hash, Quicksort.
.
Graphics: Space-filling Curves: Sierpinski curves, Hilbert curves,
Dragon curves, & Wirth curves.
Wire-frame picture generation: Scaphites shell, chalice, Xylem.
Fractals: Mandelbrot set, Julia set.
Writing out color and black-and-white PCX files, color TIFF files.
Reading PCX files, printing a color PCX file on a color printer.
.
Linked Lists: One-way linked lists, circular lists, two-way linked lists,
red-black binary trees, including searching, insertion, deletion,
rotation; algebraic expressions and trees.
.
Complex arithmetic: electrical circuits, FFT of real, sine, cosine functions,
real and complex roots of a polynomial.
.
Text processing: Text editor, converting plain text to HTML.
String searching: classic, Knuth-Morris-Pratt, Boyer-Moore, Rabin-Karp,
Baeza-Yates-Gonnet, Approximate String search (Baeza-Yates-Perleberg).
.
Searching: Binary, Hash, Hash with Quadratic search.
.
Numerical Methods: Integration: Rectangle Method, Trapezoidal method,
Simpson's Rule, Romberg;
Differentiation, roots of an equation
(Newton-Raphson method), Interpolation, Euler's method and Runga-Kutta
methods for solving a Differential Equation, plotting a function
and producing a PCX file.
Real and Complex roots of a polynomial;
Simultaneous equations: Gauss elimination, Gauss-Siedel iteration,
tri-diagonal equations, banded equations, sparse matrices,
matrix inversion.
.
Miscellaneous:
Transitive closure
.
25 December 1999