从当前的节点开始,和周围的邻居节点的值进行比较。 如果当前节点是最大的,那么返回当前节点,作为最大值(既山峰最高点);反之就用最高的邻居节点来,替换当前节点,从而实现向山峰的高处攀爬的目的。如此循环直到达到最高点。
什么叫爬山算法呢?《混乱》这本书这样讲。
假如玩一个游戏,让每一个人能够找到自己在地球上最高的那个点,当然你没有地图,你并不知道自己哪个点最高。
现在来报一个坐标,然后你就知道那个坐标是不是最高点,大家来拼谁能够最快地找到这个地球上的最高点。
如果我们想要通过一个坐标、一个坐标地试过去,那你这辈子很难试到珠穆朗玛峰。
最有效的能够帮助我们找到最高点的计算机算法,它的办法是什么呢?是把你随机地抛在地球上的一个点,抛在那个点以后,你就近在最近的几公里之内寻找最高点,然后找到最高点之后,立刻站到这个最高点上去,再在最近的几公里之内寻找最高点。
这个几公里有多大,取决于你的能力,假如你能力很强,方圆十公里;假如你能力很弱,方圆两公里。
总之就近去展开搜寻,假如你不幸被抛到了沙漠里边,沙漠里边周围都差不多,十公里之内都没有特别高的点。怎么办呢?重启一次,就再抛一次,再抛到地球上另外一个地方。
这种随机性的引入,使得一个人往往能够在短时间之内找到这个最高的点。
这个算法跟我们的实际生活有什么关系呢?我们追求温定,可控的生活,害怕变化。任何事情追求计划性,想把一切掌握在手里,反而生活在舒适区难以突破。
这个对我是一个认知上的迭代。我这几年拼命追求平衡有序的生活,清单控,害怕失控,任何事情都有planB。一旦打破常规,我就焦虑不安,失眠,甚至生病。今天学到这个知识突然醒悟,凡事不可用力过猛。