浅谈模拟

       模拟虽然是入门算法,但这才是所有算法的根源。

       所谓模拟,如字面意思,写一段代码让计算机去跟着你的思维跑程序。很多人可能以为模拟题就是那种非常傻逼的“题意要你做什么你就做什么然后就A了的”题。这种讲法并没错,那的确是模拟题,不需要动脑,只需要把题目意思Translate into Code就可以了。但是,模拟却不仅仅是这玩意儿。模拟是所有算法的基础,所有算法都有模拟的参与。

       比如数据结构,你知道平衡树动态维护数据的运行过程,然后把它用代码表现出来,A掉了某个题,然后称它为数据结构题。但是它也可以叫模拟题,你只是模拟了一颗平衡树的运作方式A掉题了而已。虽然这么说有些牵强,但是我的话并没有错吧。你做的题其实在转化题意之后就是要你模拟平衡树,只不过怎么转化题意就看你自己了。

       模拟不是一种算法,模拟是一种基本功,一种对计算机语言的掌握,一种叫做“码力”的东西。

       很多时候我们能够知道某题的正解,即能将题意转化成用我们熟知的知识来表示的样子,但是我们不会模拟,或者模拟不出,写完之后查不出错在哪。这和刚出生的小孩子觉得自己饿了但是不知道怎么表达,或者以大哭来表达却被误解一样。掌握模拟,就相当于掌握了表达自己饿了的状态的方法。饿了要表达给父母,程序该怎么跑,该怎么模拟,要表达给计算机。父母理解错你的意思了,也不会做出对他们有害的事情,也不至于会伤害到你自己。但是计算机是很忠诚的朋友,会按照你的语句一步一步执行,但是你的语句错了,也就有可能将你的朋友引入绝境。

       总之,模拟十分重要,这就是我的第一站。

posted @ 2018-05-20 17:49  AKMer  阅读(429)  评论(0编辑  收藏  举报