Energy-efficient algorithms