数据结构学习笔记002什么是时间复杂度

基本概念

时间复杂度:计算机解决问题的时间,随着问题规模的扩大,运行时间上的变化规律(或者说:时间是怎么变化)。一般情况下,时间复杂度都是指算法运行时间的最坏情况。

补充

时间复杂度一般用大写的O来表示,后面用小括号包裹时间变化规律。比如:
1、访问数组某个位置的值,其时间复杂度为O(1)。

解析:因为,数组可以通过下标直接定位到数据原素,无论数值的长度是多少(即:问题规模的扩大),均可以通过下标直接访问得到。所以,其时间复杂度为:O(1),呈固定的常数变化。

2、访问链表某个位置的值,其时间复杂度为O(n)。

解析:首先,如果访问链表的第一个值,那么时间复杂度为O(1),但我们评论时间复杂度,一般是指最坏情况下的时间复杂度,所以,随着问题规模的扩大,如果想访问链表最后一个位置的值,那么时间复杂度就是O(n)。所以,访问链表某个位置的值,其时间复杂度为O(n)。

常见的时间复杂度表示有:O(1)、O(n)、O(n2)、O(3)、O(logn)。

参考文献:三分钟了解时间复杂度

至此,完毕。

你可能感兴趣的:(大话数据结构,数据结构,算法)