python-day20
一、算法 1、概念 算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。 算法是独立存在的一种解决问题的方法和思想。 2、算法的五大特性 输入: 算法具有0个或多个输入 输出: 算法至少有1个或多个输出 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 确定性:算法中的每一步都有确定的含义,不会出现二义性 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成 3、算法的复杂度: 1、衡量标准: 算法在计算机执行中所消耗的时间 算法在执行中所占用的资源的大小,如:内存空间的占用大小 算法的易理解性,易实现性 2、算法在计算机执行中消耗的时间 跟时间有关的因素: 数据输入的时间 算法编译成可执行程序的时间 计算机执行每条指令的时间 算法语句重复执行的次数 4、时间复杂度的几条基本计算规则 基本操作,即只有常数项,认为其时间复杂度为O(1) 顺序结构,时间复杂度按加法进行计算 循环结构,时间复杂度按乘法进行计算 分支结构,时间复杂度取最大值 判断一个算法的效率时,往往只需要关注操作数量的最高次项