python数据结构与算法基础名词积累
记录: 算法,很早之前,我就知道是特别重要一环;但是,今天,看到一个简单例子,第一次被震撼了。 算法: 算法是独立存在的一种解决问题的方法和思想。 算法五大特性: 输入: 算法具有0个或多个输入 输出: 算法至少有1个或多个输出 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 确定性:算法中的每一步都有确定的含义,不会出现二义性 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成 大O记法: 对于单调的整数函数f,如果存在一个整数函数g和实常数c>0,使得对于充分大的n总有f(n)<=c*g(n),就说函数g是f的一个渐近函数(忽略常数),记为f(n)=O(g(n))。也就是说,在趋向无穷的极限意义下,函数f的增长速度受到函数g的约束,亦即函数f与函数g的特征相似。 时间复杂度: 假设存在函数g,使得算法A处理规模为n的问题示例所用时间为T(n)=O(g(n)),则称O(g(n))为算法A的渐近时间复杂度,简称时间复杂度,记为T(n)。 时间复杂度排序: 最优时间复杂度: 算法完成工作最少需要多少基本操作。 最坏时间复杂度: 算法完成工作最多需要多少基本操作。 平均时间复杂度: 算法完成工作平均需要多少基本操作。 时间复杂度的几条基本计算规则: 1.基本操作,即只有常数项,认为其时间复杂度为O(1)。 2.顺序结构