图片出自狄泰软件学院工程里面一般采用时间复杂度在O(n^3)之前的算法。算法的最好与最坏情况:一般推断算法的最坏情况,当程序在最坏情况都能满足要求是,说明在最好和平均情况都能满足要求。算法的空间复杂度(SpaceComplexity)定义:S(n)=S(f(n))n为算法的问题规模f(n)为空间使用函数,与n有关推导时间复杂度的方法同样适用于空间复杂度如当算法所需要的空间复杂度是常数时,空间复杂度
算法的复杂度时间复杂度:算法运行后对时间需求量的定性描述。空间复杂度:算法运行后对空间需求量的定性描述。本章重点讨论时间复杂度符号定性——大O表示法:——算法效率严重依赖于操作(Operation)数量——操作数量的估算可以作为时间复杂度的估算——在判断是首先关注操作数量的最高次项O(5)=O(1)O(2n+1)=O(2n)=O(n)O(n^2+n+1)=O(n^2)O(3n^3+1)=O(3n^
程序的效率问题:如果两个算法都符合功能性需求,那工程中最关心的其他特性是什么?如何比较评判?性价比(效率)是工程中最关注的的算法附加特性!算法效率的度量1.事后统计法:比较不同算法对同一组输入数据的处理时间。缺陷:(1)为了获得不同算法必须编写相应程序(2)运行时间严重依赖硬件以及运行时的环境因素(3)算法的测试数据选取困难2.事前分析估算:依据统计的方法对数据进行估算影响算法效率的主要因素:(1
程序的灵魂引出问题程序是否越短越好?程序是不是别人读不懂就证明自己很厉害?数据结构静态的描述了数据元素之间的关系。高效的的程序需要在数据结构的基础上选择合适的算法。算法是特定问题求解的步骤,在计算机中表现为指令的有限序列。算法是独立存在的的一种解决问题的方法和思想,对于算法而言,思想最重要。算法的特性:输入:算法具有0个或多个输入。输出:算法至少有一个或多个输出。有穷性:算法在有限的步骤之后会自动
数据的艺术程序设计的挑战(1)利用计算机解决生活的问题(2)生活中的不同个体存在联系,且关系复杂(3)如何用计算机程序描绘生活中的个体以及个体之间的联系计算机能接受处理的是数据,我们可以将数据写入到程序里,然后计算,因此,我们要考虑在程序里面如何用数据来描述客观的事物,来描述生活里面的个体,描述个体之间的关系。数据的概念数据在计算机里就是程序的操作对象,可以描述客观事物。数据的特点(1)可以输入到
理解程序的本质:1.为什么有各种各样的程序?2.程序的本质是什么?程序是是为了解决问题而存在的,各种各样的问题产生了各种各样的程序软件。因此,程序的本质就是解决问题的步骤描述。就比如要解决把大象放进冰箱需要三个步骤,把冰箱门打开、把大象放进去、关上冰箱门。用程序可以分为以下步骤1.fridge*e=newfridge();//定义冰箱这个对象2.elephant*h=newelephant();/
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号