Various algorithms to traverse an array according to a specific set of constraints (see README)