初识算法(一)
1、初识算法
简单来说:"算法"就是描述解决问题的方法。(能更有效的处理数据,提高数据运算效率。数据的运算是定义在数据的逻辑结构上,但运算的具体实现要在存储结构上进行。)
比如:1+2+3+…+n=? 平常随便一个for循环就可以解决这个问题,但是如果n==1000、10000、100000
等,必然要改变变量类型,否则会溢出。
当然有更好地算法去解决这个问题,感兴趣的小伙伴,可以百度一下"高斯"。
2、算法定义
对于给定的问题,是可以有多种算法来解决的。如果你要问我有没有通用的算法?不好意思,我会向你要"包治百病"的药。
问题千奇百怪,不论大问题、小问题,只有适合它的算法,才是最优解。
对于算法的定义上面有说:是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。就像上面举的列子,for循环就是一个解决"1+2+3+…+n"这个问题算法。当然能解决这个问题的算法有很多,for循环也不是最优解。
3、算法与数据结构的关系
"数据结构"只是静态的描述了"数据元素"之间的关系,高效的程序需要在"数据结构"的基