目录
前言
在学习数据结构与算法之前我们得先明白以下几点:
1.什么是数据结构?
2.什么是算法?
3.数据结构和算法的重要性
4.常见的数据结构及算法
一、算法效率的衡量
那么提到算法效率,我们肯定想知道如何衡量一个算法的好坏?
算法的复杂度
算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。
时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。
二、时间复杂度
那么我们首先了解一下什么是时间复杂度。
1. 时间复杂度的定义:
实际中我们计算时间复杂度时,我们其实并不一定要计算精确的执行次数,而只需要大概执行次数,那么这里我们使用大O的渐进表示法。
2.大O的渐进表示法
那么光说理论肯定不好理解,那么我们牛刀小试一下:
3.小试牛刀
二、空间复杂度
1.空间复杂度的定义:
2.小试牛刀
三、常见复杂度的对比