算法(algorithm):
来源:互联网 发布:2016年网络流行歌曲 编辑:程序博客网 时间:2024/05/19 21:15
对一个现有的问题我们采取的解决过程及方法,可简单可复杂,可高效可低效。一个用算法实现的程序会耗费两种资源:处理时间和内存。很显然,一个好的算法应该是耗费时间少、所用内存低,但是,在实际中,我们往往不能两方面顾全!
算法的效率分析标准:
衡量算法是否高效主要是从以下几个方面来分析:
¨ 简单性和清晰度
一般我们都希望算法越简单越清晰就越好,但是要保证效率为前提。可是,往往我们在复杂的项目开发中所遇见的问题比较复杂,对时间和空间效率的要求也较高,因此,算法一般都会比较复杂。
¨ 空间效率
注意:这里的空间效率并不是指算法代码占用的内存指令空间,而是指代码中的数据分配(变量与变量所引用值的分配)以及方法调用所使用的内存(调用栈的空间分配)。比如,我们常用的递归,虽然会使代码清晰简单,但是内存的使用也会大大提高。理想的,程序所使用的内存应该和数据及方法调用 所占用内存相等。但事实总是会有些额外的开销!因此,空间效率也是我们衡量算法的方面之一。
¨ 时间效率
针对同一任务所使用的不同算法所执行的时间都会不同。
比如:在一个数据集合中查找数据,我们会从第一个数据开始查找,一直找到需要的数据为止,如果查找数据存在,则这种查找方式(称之为线性查找)一般要查找半个列表!然而,如果数据的排放是有序的,则通过另一种查找方法会更有效,即二分查找法,首先从集合的中间开始,如果查找值在中间值的前面,则从集合的前一半重复查找,否则从后一半查找,每执行一次则将查找的集合减少为前一次的一半。
- Algorithm(算法
- 算法(algorithm):
- Algorithm算法
- 算法库algorithm-1-algorithm
- Dijkstra Algorithm 算法详解
- Algorithm: 算法题摘录
- sorting algorithm排序算法
- 遗传算法 Genetic Algorithm
- algorithm算法初窥
- 算法(Algorithm)
- C++中的算法algorithm
- 匈牙利算法Hungarian algorithm
- 基因算法 Genetic Algorithm
- 遗传算法--genetic algorithm
- Algorithm Topic 算法分类
- STL algorithm算法集合
- 【算法】A star algorithm
- Hungarian algorithm 匈牙利算法
- Hibernate的事件监听
- 第一个iOS application
- ubuntu英文版下安装中文输入法scim
- Xap 包装失败,未将对象引用设置到对象的实例
- 高斯平面直角坐标系
- 算法(algorithm):
- 在windows 上构建android NDK 开发环境
- 关于字节对齐的讨论
- wait_fences: failed to receive reply: 10004003奇怪的错误
- SOJ-2708(简单dp,不会怎么记录路径)
- 工作积累之模板类实例化
- 把数组里面的 奇数 放在 偶数 前面 并排序
- SQLite 入门教程(三)常用约束 Constraints
- ubunt系统中如何切换到root帐户?