什么是算法:
对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作。
算法的特性:
有穷性、可行性、确定性、输入、输出。
效率与存储量:
效率是指算法执行时间;存储量需求是指算法执行过程中所需最大存储空间。
算法效率的度量:
语句频度:该条语句可能重复执行的次数。T(n):表示所有语句频度之和,其中n为问题规模。
时间复杂度:T(n)=O(f(n)),其中O表示T(n)与f(n)在n—>正无穷时为同阶无穷大。
加法规则:T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)))
乘法规则:T(n)=T1(n)*T2(n)=O(f(n))*O(g(n))=O(f(n)*g(n))
一般通常采用基本运算频度来分析算法的时间复杂度。
常见时间复杂度:
O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2) <O(n^3)< O(2^n)<O(n!)< O(n^n)
空间复杂度:算法消耗的存储空间,记为S(n)=O(g(n))。
除本身所用的指令,常数,变量和输入数据外,还需要一些对数据进行操作的工作单元和存储为实现算法所需的一些信息的辅助空间。
算法原地工作时是指算法所需辅助空间为常量,O(1)。
算法初识
最新推荐文章于 2024-03-04 10:56:03 发布