What is an Algorithm? A comprehensive definition in 2025