| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 902 人关注过本帖
标题:[讨论]算法大讨论
取消只看楼主 加入收藏
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
结帖率:92.86%
收藏
 问题点数:0 回复次数:1 
[讨论]算法大讨论

这几天冠以“算法”两个字的贴子很多,我觉得有必要讨论一下,解决以下问题才能更好地学习算法:

1。什么是算法?

2。什么是优秀的算法?

3。算法是否能独立于计算机体系之外,独立于具体语言之外?

个人认为:

[问题1]

算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。--------------引用于CSDN上的一篇文章

我个人认为这个定义比较明暂完整地阐明了“算法”的概念及内涵。 这里需要着重注意的一点:实现你的解题思路也是算法不可缺失的一部分。形成解题思路实际上就是在纯算术概念上的解题,如果仅此而已,并不是一个完整的算法。一个完整的算法必须在特定的计算机体系使用特定的语言能实现你的解题思路,并具有有穷性,确切性,输入,输出,可行性5个特性的二进制代码(或者源码)。

[问题2]

什么是优秀的算法? 1。效率高,运行速度快 2。占用内存少 但是,这两点往往是相对立的,需要与实现的环境相结合,来决定到底是牺牲内存换速度,还是牺牲速度换内存。如:在一个小内存的系统中,往往采用后者,而在一个酷求速度的程序里往往采用前者。

[问题3] 综合前两个问题,我们就不难看出,一个完整的算法不能独立于计算机体系之外,独立于具体语言之外,如果抛开具体实现环境来谈算法是不完整的算法。算法,有其共性的一面(即形成解题思路),这是独立于计算机体系之外,独立于具体语言之外的;也有其特性的一面(即编写程序),这是与具体实现环境相关的。

以上乃本人之愚见,欢迎批判,欢迎抬扛!

搜索更多相关主题的帖子: 算法 计算机 定义 CSDN 
2004-10-07 21:11
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
没反对意见?那我岂不是很“权威”了 ......嘿嘿.......好兴奋啊~~~~~~

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-10-10 14:56
快速回复:[讨论]算法大讨论
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019978 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved