在开发的过程中,我们经常提到算法,所谓算法就是任何定义明确的计算步骤,输入一个或一组值,输出一个或一组值–《算法导论》。
开发工作中经常会用算法解决我们的程序问题,那么要解决一个具体的程序问题,一个算法应该具有哪些特性呢:
1、有穷性,即执行有限的步骤。
2、明确性,即每个步骤都是可执行的。
3、可行性,即每个步骤都是可执行的。
由此不难想象生活中遇到的问题,对于这个问题的解决,我们需要一个产出,之前需要投入,中间需要执行有限的、明确的、可行的步骤来达到。
一个人的精力就像cpu一样,一个人的记忆就像内存一样,如果我们有太多的杂念,那么切换就会频繁,我们的精力就会浪费在各种庞杂的琐事中,造成重要事情没有按时完成,或者没有完成,这就是说我的输入一定要明确,不能一会想做A,一会想做B。
明确了要达到的目的,需要有一个方法(即算法)去支撑过程来达到目的,程序的算法随处可循,生活的算法庞杂而无规律,成功有一万个理由,失败也是,所以每一个步骤中的必然因素需要我们去收集、整理,并且严格执行,如果每个步骤都执行一半,那么结果显而易见。
看了算法这篇文章,生活中需要注意的陋习需要改正:
1、没有目的(=没有问题),没有任何问题,那么这个将是最大的问题。
2、没有办法(=没有算法),遇到问题要积极解决,而不是逃避。
3、没有资源,精力要集中,人的注意力、记忆力和体力都有限,需要合理计划和使用。