算法的基本概念及特性(有穷性、确定性、可行性、输入和输出)
来源:互联网 发布:电脑版淘宝找不到仓库 编辑:程序博客网 时间:2024/06/05 18:33
算法(algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。此外,一个算法还具有下列5个重要特性:
1) 有穷性
一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。
2) 确定性
算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。即对于相同的输入只能得出相同的输出。
3) 可行性
一个算法是可行的,即算法中描述的操作都是吋以逋过已经实现的基本运算执行有限次来实现的。
4) 输入
一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。
5) 输出
一个算法有一个或多个的输出,这些输出是同输入有着某种特定关系的量。
通常设计一个“好”的算法应考虑达到以下目标:
正确性:算法应当能够正确地解决求解问题。可读性:算法应当具有良好的可读性,以助于人们理解。健壮性:当输入非法数据时,算法也能适当地做出反应或进行处理,而不会产生莫名其妙的输出结果。效率与低存储量需求:效率是指算法执行的时间,存储量需求是指算法执行过程中所需要的最大存储空间,这两者都与问题的规模有关。
参考:
http://c.biancheng.net/cpp/shujujiegou/
0 0
- 算法的基本概念及特性(有穷性、确定性、可行性、输入和输出)
- 指针的输入特性和输出特性
- 确定和非确定性算法
- 输入流、输出流的特性和读写方法
- String类的输入和输出及基本操作
- 管理输入和输出及vim的简单用法
- jQuery的基本特性和基本概念
- jQuery的基本特性和基本概念
- 数据结构和算法的基本概念
- 【基于随机化的非确定性算法】模拟退火学习笔记
- zigbee基本概念及组网特性
- zigbee基本概念及组网特性
- 数组的输入 和输出
- 程序的输入和输出
- 文件的输入和输出
- C的输入和输出
- python的输入和输出
- 文件的输入和输出
- 美化 checkbox
- iOS图片拉伸技巧
- 苹果微信版语音播放支持mp3安卓微信语音播放支持的是ogg
- Universal-Image-Loader源码阅读(29)-SimpleBitmapDisplayer
- 【入门教程之七】 玩转源代码:生成工程解决方案与源码编译
- 算法的基本概念及特性(有穷性、确定性、可行性、输入和输出)
- LeetCode : 136. Single Number
- tomcat学习
- 第七章--网络连接和网络数据获取
- 手把手教你建github技术博客by hexo
- node.js配置
- 终于推开那扇门
- mybaits generator 重复生成xml
- [转]【坐在马桶上看算法】算法3:最常用的排序——快速排序--作者:ahalei