对于算法的时间复杂度为f(n)n表示问题的规模,但规模是格什么东西呢,是算法要执行的次数吗?但是次数的话就不会被叫做规模了吧,所以希望懂的人解答。还有规模在一个算法中比如:循环输出数组的奇数这种算法什么是它的问题规模啊,太抽象了。
算法的时间复杂度不仅仅依赖于问题的规模,还与输入实例的初始状态有关。算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始。
经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。
程序调用自身的编程技巧称为递归(recursion)。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
参考资料来源:百度百科-算法