Many current optical flow algorithms are not suited for practical implementations such as tracking because they either require massively parallel supercomputers, specialized hardware, or up to several hours on a scientific workstation. One particular reason for this is the quadratic nature of the search algorithms used in these problems. We present two modifications to these types of algorithms which can convert quadratic-time optical flow algorithms into linear-time ones. The first uses a variable image sampling rate which trades space for time and yields an algorithm that is at worst linear, and at best constant, in the speed of the moving objects in the image. This technique finds the fastest motion in an image and is ideal for tracking, since the fastest moving objects in a robot's environment are generally the most interesting. The second modification extends this approach to create a multiple-speed optical flow field by transforming quadratic searches over space into linear searches in time. This space-time inversion has the effect of searching for faster moving objects in each image earlier than for slower moving ones, with additional effort being exerted to search for slower objects only when desired. A system of velocity masking allows a tradeoff of angular resolution (but not magnitude resolution) for an optical flow algorithm only linear in the range of velocities present.