算法的三个基本问题

原创 2006年05月16日 23:29:00

1.什么是算法?
通俗的讲算法就是一种解决问题的策略。
算法的严格定义,简而言之,算法必须是:
1) 清楚、明确的定地定义;
2) 有效,即每一个步骤都切实可行;
3) 有限,即可在有限步骤后得到结果。
大多数情况下,解决一个问题可以使用几个不同的算法,在编写最终程序之前需要考虑许多潜在的解决方案。

2.算法和函数有什么样关系?
算法本身是抽象的策略,通过用自然语言表达。函数是以某种程序设计语言表示的算法的具体实现。当你要将算法作为程序的一部份实现时,通常要写一个函数来执行该算法,而该函数也可以调用其他函数处理它的一部份工作。

3.增加对程序正确性的一般常用方法有哪些?
有两种方法可以增加你对程序正确性的把握。
第一,按着程序代码一步一步执行,确信程序的行为和你的要求一致。这个过程被称桌面检查(desk-checking)。学会用怀疑的眼光执行桌面检查并找到推理程序的技术需要实践和训练。第二种方法称为测试(testing),即利用尽可能多测试实例运行你的程序,对每种情况都检查执行结果是否正确。

隐马尔科夫模型、三个基本问题、三个训练算法

参考一篇“机器学习研究会”的文章与宗庆后的《统计自然语言模型》,督促自己回顾一下HMM模型知识为面试做准备。这次学习会讲了隐马尔科夫链,这是一个特别常见的模型,在自然语言处理中的应用也非常多。常见的应...

数据链路层的三个基本问题:封装成帧 透明传输 差错检测

一. 封装成帧 透明传输 差错检测
  • azsx02
  • azsx02
  • 2017年04月06日 11:29
  • 654

数据链路层的三个基本问题

数据链路层的三个基本问题1. 封装成帧 封装成帧(framing):就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。 接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比...
  • zaoxier
  • zaoxier
  • 2016年12月21日 22:52
  • 165

有关分布式存储的三个基本问题 (2016-08-16 杨赛 细说云计算)

现在分布式存储这一块,有块存储、对象存储、文件存储,有不同的开源项目如Ceph、GlusterFS、Sheepdog、Swift,还有不同的商业实现如Google、AWS、微软、金山、七牛、又拍、阿里...
  • laowxl
  • laowxl
  • 2017年01月17日 09:30
  • 418

HMM经典介绍论文【Rabiner 1989】翻译(五)——HMM的三个基本问题

2.3 HMM的三个问题在上一小节给出了HMM的形式,在实际应用中还有三个基本问题需要解决,分别是:问题1:给定观测序列O=O1O2⋯OTO=O_1O_2 \cdots O_T和模型λ=(A,B,π)...

虚拟座谈会:有关分布式存储的三个基本问题

分布式存储的应用场景相对于其存储接口,现在流行分为三种: 对象存储: 也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他扩展,如七牛、又拍、Swift、S3 块存储...

数据链路层—三个基本问题

本文主要介绍数据链路层传输数据需要注意的最基本的三个问题  当我们需要传输数据的时候,我们应该这考虑:首先,将数据封装成帧(帧是数据链路层的基本单位),考虑去怎么封装,才能让接受端识别一个完整的帧,...

数据链路层的三个基本问题

数据链路层的三个基本问题 封装成帧 透明传输 差错控制  差错检测...

隐马尔科夫模型-基本模型与三个基本问题

隐马尔科夫模型-基本模型与三个基本问题 这次学习会讲了隐马尔科夫链,这是一个特别常见的模型,在自然语言处理中的应用也非常多。 常见的应用比如分词,词性标注,命名实体识别等问题序列标注问题均...
  • AMDS123
  • AMDS123
  • 2017年05月25日 23:13
  • 844

可用贪心算法解决的几个基本问题

关键:看问题有没有贪心选择性质和最优子结构性质。有些问题看似是可以用贪心算法,但是实际用贪心算法却得不到最优解。构造贪心算法后,需要一定的证明来确定它的正确性。常用证明方法:反证法、调整法。 几个基...
  • sdcyzjq
  • sdcyzjq
  • 2011年08月24日 12:36
  • 3070
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法的三个基本问题
举报原因:
原因补充:

(最多只允许输入30个字)