什么是算法?

z820401 2003-10-19 03:14:08
什么是算法?谢谢了
...全文
476 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
挺拔的劲松 2003-10-19
  • 打赏
  • 举报
回复
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。

一个算法应该具有以下五个重要的特征:

有穷性: 一个算法必须保证执行有限步之后结束;
确切性: 算法的每一步骤必须有确切的定义;
输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
 

http://algorithm.myrice.com/algorithm/index.html
soltek 2003-10-19
  • 打赏
  • 举报
回复
通俗的讲,算法是指解决问题的方法或过程。严格的讲,算法是描述下述性质的指令序列:
1.输入:有零个或多个外部量作为算法的输入。
2.输出:算法产生至少一个量作为输出。
3.确定性:组成算法的每条指令是清晰的,无歧义的。
4.有限性:算法中每条指令的执行次数有限,执行每条指令的时间也有限。
它与程序是不同的,程序是算法用某种程序设计语言的具体实现。程序可以不满足算法的性质(4)即,有限性。
hu1hao2 2003-10-19
  • 打赏
  • 举报
回复
算法就是解决问题的方法。数据结构+算法=程序 1.算法要能解决问题。2.算法要有穷。3.算法要有效。
ilian 2003-10-19
  • 打赏
  • 举报
回复
好比数学上的公式
Liulingbing 2003-10-19
  • 打赏
  • 举报
回复
有2n张卡片1,2,...,2n,将后面的n张按如下方式插入到前面.
第n+1张插在1之前,第n+2张插在2之前,......第2n张插在n之前,
经过m次插入后卡片回到原来的顺序
例如n=3,经过m=3次插入后回到原来的顺序 1 2 3 4 5 6
4 1 5 2 6 3 第1次插
2 4 6 1 3 5 第2次插
1 2 3 4 5 6 第3次插

程序运行时输入n(<=10000),计算机输出m
将n=10000,9999,9998,9997,9996的结果也计算出来

能做出这样的题,你就知道什么叫真正的算法了。
不一定要代码长,不一定要循环多。
一般好的算法省代码。
Liulingbing 2003-10-19
  • 打赏
  • 举报
回复
计算的方法叫算法。
不过,太简单的就不好意思叫它算法了。
shortppsy 2003-10-19
  • 打赏
  • 举报
回复
如果你要计算1+2+3+4....+10的结果是多少,就会涉及到一个很简单的算法
for(a=1;a<=10;a++)
b=+a
pooryaya 2003-10-19
  • 打赏
  • 举报
回复
数据结构书上有解释!
dreamfly8848 2003-10-19
  • 打赏
  • 举报
回复
其实跟数学差不多的东东吧。
kudoxinyiji 2003-10-19
  • 打赏
  • 举报
回复
解决问题的方法。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧