算法
2016-07-19 23:43
197 查看
算法
算法是指令的集合,是为了接囧特定问题而规定的一系列操作。必须具备以下特性才能成为算法:1. 有输入:待解决问题的信息作为输入
2. 有输出:对输入进行指令操作后能得到信息
3. 可行性:算法的每个步骤都是可实现的
4. 有穷性:算法必须在有限时间内完成
5. 确定性:算法对一个指定的输入要保证对应的输出是唯一的。对于随机算法,这个特性除外。
时间复杂度
判断一个算法的好坏主要看时间和空间维度。对于时间维度来说,一个算法对某个输入要用x秒是毫无意义的。因为程序的运行速度受到多种因素制约。其次即使排除硬软件的影响,对于问题规模的不同,实际的运算时间有会有很大差异。我们记T(n)为算法执行基本操作(赋值操作)的次数与规模n的函数,n趋向无穷大时,舍弃T(n)中的低阶和常数项,获得的T(n)被称为渐进时间复杂度,简称时间复杂度,用来讨论运行时间随着运算规模扩大的增长阶。
相关文章推荐
- 详解Android中AsyncTask的使用
- 数据结构基本概念
- 【PHP面向对象(OOP)编程入门教程】9.封装性(var与public,protected,private的关系)
- R : MAC OS与Windows下中文乱码问题
- [Ruby笔记]28.Ruby @@class_variables 类变量 vs @instance_variable 实例变量
- 开源团队协作平台, 免费企业IM, ENTBOOST, Windows环境MySQL版本安装
- Linux 多线程编程(不限Linux)
- 类型的装载连接和初始化
- Qt登录对话框
- 红黑树
- Android 6.0的lowmemorykiller机制
- Code片段 : .properties属性文件操作工具类 & JSON工具类
- Java体系结构
- 剑指offer 52题 【数组】 构建乘积数组
- JavaEE体系架构概述、MyBatis总结
- 4000 文件读写
- mongoDB(4):find()查询、分页、游标
- 服务器编程Actor机制
- caffe源码学习:Blobs
- 3.2.2 请求分页管理方式