算法设计是设计算法解决问题,并分析其正确性和效率(复杂度上界)的过程。