Publisher review:SMAWK totally monotone matrix searching algorithm takes as input a function for computing matrix values, and searches for the position of maximum value in each row. This SMAWK algorithm takes as input a function for computing matrix values, and searches for the position of maximum value in each row.
The matrix must satisfy the "totally monotone" property: in each submatrix (in particular each 2x2 submatrix) the positions of the maxima must move leftward as you go down the rows.
The algorithm uses this property to greatly reduce the number of matrix elements evaluated, compared to a naive algorithm that explicitly constructs the matrix. As a simple example, in this script the algorithm is applied to find nearest neighbors in B for each point in A, where B may be distributed arbitrarily in space but the points of A lie along a single line. Using SMAWK for this problem takes only linear time if the input is already sorted.
SMAWK totally monotone matrix searching algorithm 1.0 is a Python script for Programming Methods and Algorithms scripts design by David Eppstein.
It runs on following operating system: Windows / Linux / Mac OS / BSD / Solaris.
SMAWK totally monotone matrix searching algorithm takes as input a function for computing matrix values, and searches for the position of maximum value in each row.
Operating system:Windows / Linux / Mac OS / BSD / Solaris