算法
qq171264
这个作者很懒,什么都没留下…
展开
-
面试中的 10 大排序算法总结
前言 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这转载 2016-03-28 17:19:27 · 767 阅读 · 0 评论 -
二分查找算法
二分查找,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组已经为空,则表示找不到指定的元素。这种搜索算法每一次比较都使搜索范围缩小一半,其时间复杂度是O(logN)。import转载 2015-09-29 09:26:36 · 352 阅读 · 0 评论 -
Java实现插入排序算法
插入排序不是通过交换元素位置而是通过移动和插入元素来达到排序目的的。就像打牌的时候,我们抽到的牌是不连续的,于是我们要进行把牌较小的牌查到左边或者右边,大牌则往后移动位置。举个例子,9 2 5 8这个数组,从左边开始,9这个位置无需移动,从2开始,2比9小,于是把2抽出来,插入到9前面,9则移动到2原来的位置,以此类推。import java.util.Comparator;pub原创 2016-07-06 15:27:12 · 608 阅读 · 0 评论 -
Java实现选择排序算法
选择排序和冒泡排序有点类似,都是经过比较排序后把较小元素排在前面,区别在于冒泡排序每次仅和相邻的元素进行比较,且比较完后就进行元素位置交换;选择排序是每个元素和其之后位置的元素进行比较,每次比较取最小的元素下标,最后再把最小元素排在最前面。举个例子:8 4 2 7 这个数组,下标为0的元素即8与4进行交换,4比8小,记录当前最小下标1,再下标为1的元素4与2进行比较,2较小,记录2的下标2,2再与原创 2016-07-05 16:02:13 · 480 阅读 · 0 评论