为了在正式的构架中分析算法,我们需要一个计算模型。我们的模型基本上是一台标准的计算机,在机器中指令被顺序地执行。该模型有一个标准的简单指令系统,如加法、乘法、比较和赋值等。但不同于实际计算机情况的是,模型机做任一简单的工作都恰好花费一个时间单位。为了合理起见,我们将假设模型像一台现代计算机那样固定大小的整数并且不存在如矩阵求逆或排序这种想象的操作,它们显然不能在一个时间单位内完成。我们还假设模型机有无线的内存。
显然,这个模型有些缺点。很明显,在现实生活中不是所有的运算都恰好花费相同的时间。特别在我们的模型中,一次磁盘读入按一次加法计时,虽然加法一般要快几个数量级。还有,由于假设有无线内存,我们再不担心缺页中断,而它可能是个实际问题,特别是对一些高效的算法。
从上面这段话中,我们或许会提出一个问题,什么是计算模型?
我百度找了下,想找一个官方的说辞,但是大多显示出来的结果是分布式计算模型、并行计算模型。
于是我认为,计算即处理,可以将计算模型理解为处理模型,所谓的计算模型本质上还是对数据进行处理,比如假定内存有限的情况下,而数据大量,这个数据是可以通过算法进行优化的,于是我们可以以某种模型来对待数据,然后编写对应的算法处理,模型可以理解为是模式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。