Album of Algorithms and Techniques
Recipe Index


 
A
All pairs number A.I+A.J=X
APPROX_SUBSET_SUM - approximation algorithm,
    subset-sum problem
ATRIAN - area of triangle (stable method)

B
BINARY_SEARCH - search
BITARRAY2D - bit array as decimal number
BOYER_MOORE_MATCHER - string-matching

C
CABS - complex modulus
CADD - complex addition
CDIV - complex division
CEILING - X
CMUL - complex multiplication
COMPLEX - creates a complex number
COS - cosine function
COUNTING_SORT - sorting
Creating a function returning constant
CSQRT - complex square root
CSUB - complex subtraction

D
DDPOLY - evaluation polynomial & its derivatives
DDPOLY1 - evaluation polynomial and its 1st
    derivative
DECOMPRESS
DIOPHANT - diophantine linear equation
Determinant of a matrix
DPS - dynamic programming, subset-sum
    problem
D2BITARRAY - decimal number as bit array
D2R - decimal to roman

E
E - Euler's number e
ECONST - first 200 digits of e
Euler's constant gamma
EXACT_SUBSET_SUM - exact algorithm,
    subset-sum problem
EXEUCLID - extended form of Euclid's algorithm
EXP - exponential function
GENERAL_FIB - general formula for Fibonacci
    numbers

F
FACT - factorial
FADD - addition fractions
FCOMP - comparison fractions
FDIV - division fractions
FIB - Fibonacci numbers
FIND - selecting the Kth smallest
FLOOR - X
FMUL - multiplication fractions

G
GAMMA_CONST - first 60 digits of gamma
GCD - Euclid's GCD algorithm
GENSUB - generation of all subsets with K
    elements
Gray code
GS - greedy algorithm, subset-sum problem

H
HEAPSORT - sorting
 symbol for new itemHEAPSORT_RADIX3 - sorting
HERON - area of triangle (unstable method)
HORNER - evaluating polynomials

I
IMAGINARY - imaginary part of complex number
INTERPOLATION_SEARCH - search
Inverse of a matrix

J

K
KMP_MATCHER - string-matching

L
LCG - linear congruential generator
LCM - least common multiple
LN - natural logarithm
LN2 - first 200 digits of LN(2)
LN2P - LN(2)
LN10 - first 200 digits of LN(10)
LOCATE - search an array of abscissas
LUBKSB - routine for solution of linear
    algebraic equations
LUDCMP - LU decomposition

M
Matrix multiplication - definition
Matrix multiplication - Winograd
MINIMAX - min. and max. (recursive)
MINIMAX - min. and max. (iterative)
MINANDMAX - min. and max. (practical)
MERGING
MOD
MODE - the most frequently occuring value
MODIFIND - selecting the Kth smallest
Modular linear equations

N
NAIVE_STRING_MATCHER - string-matching
NCOMB - the number of combinations

O

P
PERMUTE - generation of permutation sequences
PI - number Pi
PICONST - first 200 digits of Pi
POLINT - polynomial inter/extra-polation
POLYADD - polynomial addition
POLDIV - polynomial division
POWER - integer exponent
PRIMES - the first K primes
PRIMALITY_TEST - testing for primality

Q
QUICKSORT - sorting
     QUICKSORT_ITERATIVE
     QUICKSORT_RECURSIVE
     QUICKSORT sophisticated
     QUICKSORT - sorting in descending order

R
RATINT - rational function inter/extra-polation
RCMUL - real multiplier of complex number
REAL - real part of complex number
REAL_STRING_MATCHER - string-matching
REPOWER - power, real exponent
R2D - roman to decimal

S
SAMPLING_B - random sampling, Bentley
SAMPLING_K - random sampling, Knuth
Search in associative arrays
SELECT - selecting the Kth smallest
SEQUENTIAL_SEARCH - search
SEQUENTIAL_SEARCH_WITHOUT_SENTINEL
SHELLSORT - sorting
SHUFFLE - random permutation
Shuffling array according to certain permutation
SIN - sine function
Solution of linear algebraic equations
SPARSE_POLYADD - polynomial addition for
    sparse polynomials
SPLINE - computes the second derivatives
    of the interpolating function
SPLINT - spline interpolation function
SQRT - square root of positive real number
SQRT5 - first 2100 digits of SQRT(5)
SQRTP2AQ2 - SQRT(P**2 + Q**2)
STIRLING - Stirling's formula

T
The first 24 Mersenne primes
TOPOLOGICAL_SORT

U

V
Vernam's method

W

X

Y

Z


Cover Contents Index Main page

last modified 1st December 2003
Copyright 2000-2003 Vladimir Zabrodsky