算法数据结构01 /算法数据结构概述
1. 算法
-
算法概述
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。
算法是独立存在的一种解决问题的方法和思想。
对于算法而言,实现的语言并不重要,重要的是思想。
-
算法的五大特性
- 输入: 算法具有0个或多个输入
- 输出: 算法至少有1个或多个输出
- 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成
- 确定性:算法中的每一步都有确定的含义,不会出现二义性
- 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成
2. 评判程序优劣的方法
-
消耗计算机资源和执行效率(无法直观)
-
计算算法执行的耗时(不推荐,因为会受机器和执行环境的影响)
-
时间复杂度(推荐)
3. 时间复杂度
-
评判规则:量化算法执行的操作/执行步骤的数量
-
表现形式:大O记法
- 最重要的项:时间复杂度表达式中最有意义的项
- O(最重要的项)