Skip to main content

Algorithmic Efficiency

The purpose of this material and exercises is an introduction to the Ruby language and algorithmic thinking as it pertains to software scripting. Individuals who intend to continue into a profession of Software Engineering, Application Development, or Computer Programming should begin to consider the efficiency of their algorithms.

Regarding software scripts, efficiency refers to how fast an algorithm runs and how much space a computer must delegate for the process, particularly when the input is a very large dataset. To understand the efficiency of a particular script, one should grasp the time complexity and space complexity of the algorithm. The authors leave it to the purview of the reader to discover the terminology, and further rate the complexity of their solutions.

The given solutions have been selected for their readability, not efficiency. As such, a further exercise of improving upon the time and space complexity of the given solutions is a worthy exercise for one seeking mastery.