搜索
bottom↓
回复: 0

算法概述篇

[复制链接]

出0入0汤圆

发表于 2011-7-5 08:29:09 | 显示全部楼层 |阅读模式
算法是解决某一问题的方法和步骤。程序实际上就是用计算机语言描述的算法。程序设计时应认真分析问题,找出合适的算法和数据结构。解决同一问题的算法可能有很多,但它们的效率却可能相差很多,选择合适的算法可能会大大降低程序设计的复杂程序,提高程序的运行效率和存储效率。

计算机所能执行的算法必需具备以下几个特性:

(1)有穷性

算法是一个有穷的计算机操作的序列,即计算机可以按照算法的规定从一个惟一的初始动作开始,经过执行有限次数的操作后终止。

(2)可行性

算法中规定的每个操作都是计算机可以执行的基本操作。

(3)确定性

算法中的每个操作应执行何种动作必须是确定的(即无二义性)且每个操作都只有一个后继操作。对于一组给定的数据,同一个算法对应的程序在计算机上的执行过程是可以再现的,执行结果也是确定的。

(4)输入

一个算法可以有0个或多个输入,即算法中要用到的一组初始数据,可以在算法中确定,也可以在程序运行时由用户通过输入设备(如键盘)输入到计算机中。

(5)输出

一个算法必须产生一个或多个输出,即程序在运行时将产生一组与输入的初始数据相对应的输出数据。一个没有输出的算法是没有任何意义的。


计算机所能执行的算法必需具备以下两个要素:

(1)操作

即构成算法的操作取自哪个操作集。计算机操作主要包括:算术运算、关系运算、逻辑运算、函数运算、位运算及I/O操作等。由于不同的计算机语言对应的操作集略有不同,所以在设计算法前,应先确定编程语言。

(2)控制结构

即如何控制算法中的各操作的执行顺序。通常情况下,各操作是按照书写的顺序执行的,若要改变这种执行顺序可以通过流程控制语句来实现。不同的计算机语言中的流程控制语句也有所不同。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 16:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表