摘要:
概述 如果给我们一个数组,让我们把这个数组中的数从小到大排序,如果我们没有学习过什么排序算法,估计这个算法是我们最容易想到的,这个算法由于很容易想到,所以效果并不好,时间复杂度为O(n2),白瞎,基本没人用。 核心思想 第一步:遍历数组,把最小的元素找出来,和数组中的第一个元素交换位置 第二步:遍历 阅读全文
摘要:
概述 最近在学习算法,面试时候问了我快速排序,当场懵逼了,竟然没有听说过,我支支吾吾了半天然后告诉面试官,我TM没听说过,然后面试官用一种看智障的眼神结束了面试(以上纯属虚构,哈哈),本来以为排序算法也就什么冒泡排序,快速排序什么的,今天自己一看,我姹,竟然那么多种排序算法,没办法了,只能一个一个的 阅读全文
摘要:
概述 快速排序,听名字就是使用这玩意排序很快,但其实在最差的情况下他的时间复杂度是O(n2),和冒泡排序一样,平均时间复杂度为O(nlogn),还不错,听说使用的场景很多,但是我看了java8中ArrayList中的sort方法,使用的并不是这个算法,其他的在什么地方有使用,不太清楚。 核心思想 这 阅读全文
摘要:
概述 最近在面试,发现基本上上点规模的公司都喜欢问算法的问题,但是在我实际的工作中使用这些算法的地方非常少,感觉就偶尔用一下递归,而且递归也不是什么算法,其他的很多算法很少使用,但是既然人家问了,那也没办法,说不定是因为人家的公司确实高大上,工作中很多的场景可以使用这些算法,本文介绍冒泡排序,一种很 阅读全文