[数据结构和算法]算法基本概念
2014-05-22 02:07 hellenism 阅读(391) 评论(0) 编辑 收藏 举报算法基本概念:
算法:
用来对数据的操作作描述,是对问题求解的步骤的描述。是一系列将输入转为输出的计算步骤
算法复杂度:分为时间复杂度和空间复杂度
时间复杂度:算法中所有语句的频度之和用T(n)表示,记为T(n) = O(n)
常见时间复杂度递增次序:
常数 O(1) , 对数阶O(log2^n) , 线性阶O(n) , 线形对数阶O(nlog2^n),平方阶O(n^2),立方阶O(n^3),指数阶O(2^n),O(n!),O(n^n)
当n值增大,算法时间复杂度即变大,执行效率变低
最坏时间复杂度:
最坏情况下的时间复杂度称为最坏时间复杂度,一般讨论的都是最坏时间复杂度
平均时间复杂度:
指所有可能的输入实例均以等概率出现的情况下,算法执行的时间复杂度
算法空间复杂度:
指在算法执行过程中,除代码本身和输入输出数据所占的空间外,临时开辟的存储空间。用S(n)表示,记为S(n) = O(1)
算法的时间复杂度和空间复杂度合称为算法的复杂度
常见算法:
一.排序算法:
1.插入排序
a.直接插入排序
b.折半插入排序
2.交换排序
a.冒泡排序
b.快速排序
3.选择排序
a.直接选择排序
4.归并排序
二.插入算法:
人生就是一局不能Again的DOTA