A non-recursive algorithm is a computational procedure that solves a problem without using recursion, often relying on iterative constructs like loops to achieve repetition. These algorithms can be more efficient in terms of memory usage compared to recursive algorithms, as they do not require the overhead of maintaining a call stack.