Java排序算法
qq_41770939
做个俗人,
知世俗,而不俗...
展开
-
java排序算法——时间复杂度为O(n)
《剑指offer》中一个题目1 简介:优点: 用空间代替时间,极大的提升了实现排序所用的时间效率 缺点: 1.通过牺牲空间来提升时间,非常耗费内存资源 2.需要实现这个算法,必须知道传入的数组中的最大元素是多少,不然会引起索引越界等异常2 代码实现pub...原创 2019-01-01 01:47:34 · 1390 阅读 · 1 评论 -
java排序算法——归并排序
1 简介 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。2 实现思路 将数组分解直到分解的数组长度小于2 申...原创 2019-01-01 01:33:39 · 154 阅读 · 0 评论 -
java排序算法——希尔排序
1 简介 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序; 随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。2 实现思路 划分出当前数组的最大增量 1.1 增量取法: 增量increment的取法有各种方案。最初shell提出取increment=n/2向下取整,increment=in...原创 2019-01-01 01:13:18 · 179 阅读 · 0 评论 -
java排序算法——选择排序
选择排序(Selection sort)是一种简单直观的[排序算法]它的工作原理是每一次从待排序的[数据元素]中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。 选择排序输出的是原序列的一个重排<a1*,a2*,a3*,...,an*>;,使得a1*<=a2*<=a3*<=......原创 2018-11-20 10:42:48 · 474 阅读 · 0 评论 -
java排序算法——插入排序
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将...原创 2018-11-20 10:37:06 · 186 阅读 · 0 评论 -
java排序算法——快速排序
说到排序算法,就不得不说优雅而简练的一种算法——快速排序算法。 快速排序是目前使用率最多,效率最高,速度最快的一种排序算法。 作为排序算法界的扛把子,快速排序算法无疑是程序员首选的一种排序算法。 首先选择一个数据作为基准,然...原创 2018-03-20 17:52:46 · 277 阅读 · 0 评论 -
java排序算法——冒泡排序
你想对数据进行排序,有许多算法可以实现排序在这里,我给大家介绍排序算法之一的冒泡算法 实现思路: 比较相邻的两个元素,如果第一个比第二个小(大),则交换它们的位置。 重复当前动作,直到排序完成 如: 3 , 5 , 2 , 7 , 9 , 6 ...原创 2018-03-20 00:28:31 · 182 阅读 · 0 评论