算法的五大特征
1.输入:算法具有0个或者多个输入
2.输出:算法至少有1个或者多个输出
3.有穷性:在有限步骤之后会自动结束而结束循环,并且在可接受的时间范围内
4.确定性:每一步都有确定的含义,不会出现二义性
5.可行性:算法的每一步都是可行的,每一步都能够执行有限的次数完成
算法效率衡量
执行时间反应算法效率:即实现算法程序的执行时间可以反应出算法的效率,即算法的优劣。但是单纯依靠运行的时间来比较算法的优劣并不是客观准确的。
最坏时间复杂度
提供了一种保证,表明在这种程度下的节本操作一定能完成。平均时间复杂度,是对算法的一个全面评价,因此,主要关注算法的最坏情况,即最欢时间复杂度。
1.基本操作:即只有常数项,认为其时间复杂度为O(1)
2.顺序结构,时间复杂度按加法计算
3.循环结构,时间复杂度按乘法计算
4.分支结构,时间复杂度取最大值。
时间复杂度:
概念
数据是一个抽象的概念,将其进行分类后的到到程序设计语言中的基本类型。如:int,float,char等。数据元素之间是不独立的,存在特定的关系,这些关系便是数据结构。数据结构指数据对象中数据元素之间的关系。
算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体。