目录
1.算法介绍
一、数据结构
数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。
算法就是对数据按要求进行某些处理,将输入数据转换成想要的输出结果。例如:查找、排序......
二、时间复杂度、空间复杂度
时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。(注意,空间复杂度不是计算程序占用了多少字节的空间,而是计算的是变量的个数。即时间复杂度算次数,空间复杂度算额外变量个数)
衡量一个算法的好坏,主要看其时间复杂度和空间复杂度,它们也是衡量性能、效率的两个主要指标。复杂度是用来计算算法中基本操作的执行次数的。实际中一般取的是算法的最差运行情况。
算复杂度不要数循环,因为它不一定准确,而是要看算法思想。
复杂度一般用大O的渐进表示法来表示
如果遇到O(N+M),N和M都是常数,这时,如果N远大于M,则是O(N),M远大于N,则是O(M),M和N一样大,就是O(N)或O(M)
O(1)表示的是常数次
函数(递归......)的时间复杂度:函数的深度及各层深度计算次数相加
很多算法大部分情况下,空间复杂的都是O(1),不是O(1)就是O(n)。