编程思想的萌芽--模拟法

今天在算法书上看到模拟法,这个当从字面理解好像大家都理解,就是对一个具体事件模拟一个过程嘛,把这个模拟过程用编程代码写出来,通过计算机去解决计算问题。后来,我结合自己学习编程入门时,好像也就是通过模拟一个题目去求解。这可能真的是编程入门吧!个人觉得好像对于刚接触编程的来说是个本来就存在的方法,只是不懂具体方法名字而已。到现在我都发现现在写的好多编程题都是数学题,用编写的程序让计算机计算,所以我认为数学基础好的可能学算法更容易。而且好多算法工程师都是数学专业的。

下面是我在书上看到的内容:

基本思想:

用模拟法解决问题的基本思想是对事物进行抽象,将现实世界的事物映射成计算机所能识别的代码符号,而将现实事物之间的关系映射成运算或逻辑控制流。抽象思想的一个简单例子就是整数的产生。数字取代了具体的事物用于对数量进行度量。人类从一只羊、一头狼、一条鱼、一棵树等事物中看到了共通的单位性,从感知中产生出了抽象的数字,而对这些数字进行运算的过程,则代表了这些事物的累加、增加或减少。从此,古人类对数的把握从具体的事务中解放出来。

模拟法的题目通常是对某一类事件进行描述,然后经过一些简单运算给出符号要求的输出结果。读者只需认真读懂、搞明白问题的要求,并能将题目所反映的内容映射为程序逻辑,基本就可以解决问题了。

模拟法是编程的基本功,没有复杂的公式和技巧,只需要读懂题目,照着逻辑,理对代码,基本都可以完成。这些题目非常有利于编程的初学者建立基本的代码感觉。需要提醒的是,有些模拟法的题目背景可能设定得错综复杂,稍微有所大意或者逻辑没有整理清楚就可能步入歧途,简单的问题也可能纠缠半天,不必要的复杂逻辑使得查错无处可循。

模拟法对于一些没有数值解决法的题目来讲,是唯一求得精确解的方案,如约瑟夫问题。因此,作为学习编程的第一步,模拟法需要受到足够的重视。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值