网站正在建设中 模板,楼盘网站建设案例,cms免费开源,南昌互联网广告个人简介#xff1a;云计算网络运维专业人员#xff0c;了解运维知识#xff0c;掌握TCP/IP协议#xff0c;每天分享网络运维知识与技能。个人爱好: 编程#xff0c;打篮球#xff0c;计算机知识个人名言#xff1a;海不辞水#xff0c;故能成其大#xff1b;山不辞石… 个人简介云计算网络运维专业人员了解运维知识掌握TCP/IP协议每天分享网络运维知识与技能。个人爱好: 编程打篮球计算机知识个人名言海不辞水故能成其大山不辞石故能成其高。个人主页小李会科技的主页 前言 盛年不重来一日难再晨及时当勉励岁月不持人. 一 什么是算法 算法Algorithm是指解题方案的准确而完整的描述是一系列解决问题的清晰指令算法代表着用系统的方法描述解决问题的策略机制。也就是说能够对一定规范的输入在有限时间内获得所要求的输出。如果一个算法有缺陷或不适合于某个问题执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。一个算法必须具有有穷性、确切性、输入项、输出项、可行性五个性质。 算法(algorithm):就是定义良好的计算过程他取一个或一组的值为输入并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤用来将输入数据转化成输出结果。 二.算法的复杂性 1.复杂性 算法效率的度量是评价算法优劣的重要依据。一个算法的复杂性的高低体现在运行该算法所需要的计算机资源的多少上面所需的资源越多我们就说该算法的复杂性越高;反之所需的资源越低则该算法的复杂性越低。 算法复杂性是算法运行所需要的计算机资源的量需要时间资源的量称为时间复杂性需要的空间资源的量称为空间复杂性。这个量应该只依赖于算法要解的问题的规模、算法的输入和算法本身的函数。如果分别用N、I和A表示算法要解问题的规模、算法的输入和算法本身而且用C表示复杂性那么应该有CF(N,I,A)。 一般把时间复杂性和空间复杂性分开并分别用T和S来表示则有: TT(N,I)和SS(N,I) 。 2.什么是复杂性 算法的复杂性主要包括两个内容:时间复杂度和空间复杂度 1时间复杂度表示算法运行时间的长短主要和数据的规模、算法实现的效率有关一般用O(n)来表示n表示数据的规模大小。 2空间复杂度主要是指算法实现所需占用内存空间的大小一般用Sn)来表示。 三.算法的五个特征 算法特征一个算法应该具有以下五个重要的特征 1.有穷性 Finiteness
算法的有穷性是指算法必须能在执行有限个步骤之后终止
2.确切性 (Definiteness)
算法的每一步骤必须有确切的定义
3.输入项 (Input)
一个算法有0个或多个输入以刻画运算对象的初始情况所谓0个输入是指算法本身定出了初始条件
4.输出项 (Output)
一个算法有一个或多个输出以反映对输入数据加工后的结果。没有输出的算法是毫无意义的
5.可行性 (Effectiveness)
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤即每个计算步骤都可以在有限时间内完成也称之为有效性 四“好”算法的标准 1.正确性正确性是指算法能够满足具体问题的需求程序运行正常无语法错误能够通过典型的软件测试达到预期。 2.易读性算法遵循标识符命名规则简洁易懂注释语句恰当适量方便自己和他人阅读便于后期调试和修改。 3.健壮性算法对非法数据及操作有较好的反应和处理。例如在学生信息管理系统中登记学生年龄时若将21岁误输入为210岁则系统应该有错误提示。 4.高效性高效性是指算法运行效率高即算法运行所消耗的时间短。 5.低存储性低存储性是指算法所需的存储空间小。对于像手机、平板电脑这样的嵌入式设备算法如果占用空间过大则无法运行。算法占用的空间大小被称为空间复杂度。 五.时间复杂性 1.时间复杂性
在计算机科学中时间复杂性又称时间复杂度算法的时间复杂度是一个函数它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述不包括这个函数的低阶项和首项系数。使用这种方式时时间复杂度可被称为是渐近的亦即考察输入值大小趋近无穷时的情况。 2.算法的复杂度
算法复杂度分为时间复杂度和空间复杂度。其作用 时间复杂度是指执行算法所需要的计算工作量而空间复杂度是指执行这个算法所需要的内存空间。算法的复杂性体运行该算法时的计算机所需资源的多少上计算机资源最重要的是时间和空间即寄存器资源因此复杂度分为时间和空间复杂度。 六.空间复杂性 程序的空间复杂性(space complexity)是指运行完一个程序所需要的内存大小是计算机算法分析的重要概念之一可以利用空间复杂性来估算一个程序所能解决的问题的最大规模。 什么是空间复杂性 算法占用空间的大小
一般情况下一个算法所占用的存储空间包括算法自身、算法的输入、算法的输出及实现算法的在程序运行时所占用空间的总和。 感谢关注点赞~~