- 常见的常数时间操作:
- 如何确定算法的时间复杂度?
-
评价一个算法优良的指标:
时间复杂度
空间复杂度
常数项时间 -
链表的遍历:
直接对链表进行遍历时间复杂度O(N)就可以拿下,但是如果对数据底层和自己的语言不熟悉这么写的话时间复杂度将为O(N2):
在遍历每一个元素时还要再次遍历取值操作也是O(N)的。
-
选择排序
-
插入排序
-
插入排序和冒泡的区别?
冒泡时间复杂度O(N2)是不随着数据样本改变的而插入排序虽然时间复杂度为O(N2),但是在好的样本下时间复杂度会降低。
二分:
对于二分查找来讲通常认为只能对于已经有序的数据进行查找操作,但是不仅仅局限于整体有序,只要符合这种折半筛选的特性,就可以考虑使用二分,例如:有一个整体无序的数组,相邻的两个值不想等,可正可负也可为零,在数组上寻找局部最小值。
代码: