算法1.1

声明:该文章是博主阅读《算法》的读书笔记。由于博主能力有限,中间有过错之处希望大家给予批评指正,一起学习交流。

当我们编写计算机程序时,通常是在实现一种先前设计好的、用来解决某问题的方法。这种方法通常与所使用的计算机无关(可能对多种计算机和多种计算机程序同样适用)。计算机科学中的算法(algorithm)用来描述适合用计算机程序来实现的问题。

大部分算法的重点在于计算中涉及的数据的组织方法。按这种方式创建的对象被称为数据结构(data structure)。因此,算法与数据结构相互配合发挥作用。

用计算机来辅助结局问题时,可能面临不同途径。对于小型问题,只要正确解决问题就行;对于大型问题(或者庞大数量的小型问题),不得不设计出尽可能有效利用空间和时间的方法。

学习算法设计的主要原因是,设计原理赋予我们节省巨大开销的潜力,甚至让我们完成那些本来不可能完成的任务。

当开发一个庞大或复杂的计算机程序时,必须花大力气来理解和定义将要解决的问题,管理其复杂性,并将它分解成可以轻松实现的较小的子任务(subtask)。

计算机程序通常是过于优化。也许并不值得我们花大力气来保证某个特殊算法的实现是最有效的,除非该算法被应用于大量任务中,或者多次被使用。否则,一个完善、相对简单的实现就足够了。

特定任务的最佳算法的选择可能是一个复杂的过程,也许包括复杂的数学分析。包含研究此类问题的计算机科学分支被称为算法分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值