计算机是怎样跑起来的-(五)使用编程技巧提升程序执行速度

使用编程技巧提升程序执行速度

算法的有穷性

一个算法必须要能在有限的步骤内解决问题,否则就不称为算法。

计算机的机械性

计算机总是按照人类事先编写好的规则来进行计算,需要说明的是计算机没有人类的直觉,只能机械的按照规则来进行运算。
但是计算机运算的速度非常的快,所以穷举法是一个很好的解决问题的方法。

编程技巧

哨兵
假设这样一种场景,当我们使用顺序查找来检查一个数组中是否包含某个数的时候,通常而言我们从数组的第一元素开始检查,假设这个数组的长度为100,那么我们需要做两件事。
1、检查数组中的值是不是我们要查找的那个值。
2、检查数组的编号有没有超过100。
第一件事是为了找到我们需要找的数。
第二件事是为了不让数组越界。
假设一种最糟糕的情况,我们要寻找的数不再这个数组中,那么这总共就需要进行200次的处理。
现在我们来想一个办法,给数组增加一个101位,并且将其中放入我们要查找的数。
这时候我们再次进行查找,还是假设最糟糕的情况,前100个箱子中没有我们需要的数,这时候我们在最后一个箱子中找到了我们需要的数,并且取出箱子的下标101。
随后再对箱子的下标进行判断,如果是101,则说明前100个箱子中并没有要找的数,反之。
这样一来,所进行的处理就远远小于200次了。

上一篇:不用加减乘除做加法


下一篇:修理品益定时插座