E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
JAVA排序算法
排序算法(四) 希尔排序(插入排序的进化)
参考
Java排序算法
(四):希尔排序常见排序算法-希尔排序(ShellSort)希尔排序算法是按其设计者希尔(DonaldShell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本
合肥懒皮
·
2016-08-24 14:17
排序算法吐血整理-附java实现
排序算法吐血整理标签(空格分隔):
java排序算法
排序算法吐血整理啰里八嗦插入排序直接插入排序二分法插入排序希尔排序选择排序简单选择排序堆排序交换排序冒泡排序快速排序归并排序基数排序总结啰里八嗦在实习的过程中
a101070096
·
2016-07-27 20:00
java
排序-算法
排序算法吐血整理-附java实现
排序算法吐血整理标签(空格分隔):
java排序算法
排序算法吐血整理啰里八嗦插入排序直接插入排序二分法插入排序希尔排序选择排序简单选择排序堆排序交换排序冒泡排序快速排序归并排序基数排序总结啰里八嗦在实习的过程中
frankstars
·
2016-07-27 00:00
java
算法
java排序算法
简介
面试的时候排序是经常会被问到的问题,能够考察程序员的算法基础知识,常用的排序主要有冒泡、选择、插入和快速排序,下面简单的介绍每一个排序的基本思想:一、冒泡排序:将临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,每排一次最后出现一个最大值或是最小值排在序列的第一个或最后一个位置.代码展示如下:BubbleSort.javapackagecn.java.sort; publiccla
j086924
·
2016-05-25 16:00
java
算法
冒泡排序
快速排序
排序算法
Java排序算法
和实现
Java排序算法
和实现 分类:排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。
马刺王朝
·
2016-05-14 10:34
java
排序算法
[学习笔记]
Java排序算法
之归并排序
归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表
u010388781
·
2016-04-27 22:00
[学习笔记]
Java排序算法
:希尔排序(Shell排序)
希尔排序(Shell排序)希尔排序(缩小增量法)属于插入类排序,由Shell提出,希尔排序对直接插入排序进行了简单的改进:它通过加大插入排序中元素之间的间隔,并在这些有间隔的元素中进行插入排序,从而使数据项大跨度地移动,当这些数据项排过一趟序之后,希尔排序算法减小数据项的间隔再进行排序,依次进行下去,进行这些排序时的数据项之间的间隔被称为增量,习惯上用字母h来表示这个增量。常用的h序列由Knuth
u010388781
·
2016-04-16 13:00
Java排序
Java排序算法
:归并排序
Java排序算法
(九):归并排序归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。
·
2016-03-31 03:00
java
归并排序
排序算法
java排序算法
二分法 希尔排序 快速排序 归并排序
packagedataStruct;publicclassSortMedth{publicstaticvoidmain(String[]args){inta[]={21,25,49,25,16,8,-101,3};//bubbleSort(a); 冒泡排序//bubbleSort1(a); 优化后的冒泡排序//selectSort(a); 选择排序//insertSort(a); 插入排序//in
qq_28654189
·
2016-03-12 10:00
Java排序算法
总结之(五)—— 基数排序
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序基数排序基本思想:与之前各种排序算法需要比较和移动不同,基数排序不需要比较,只通过关键字分类来完成排序。比如一个序列有n个数据{R1,R2,R3,…,Rn},每个数据含有k个关键字Ri=(Ai,
Appletable
·
2016-03-03 14:00
java
二维数组
数据
排序算法
基数排序
Java排序算法
总结之(四)——归并排序
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序归并排序:基本思想:将两个或两个以上的有序表组合成一个新的有序表。归并的思路很好理解,有下面的示例:示例:Java代码:publicclassMSort{publicstaticvoidsort
appletable
·
2016-03-03 11:59
Java排序算法总结
Java排序算法
总结之(四)——归并排序
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序归并排序:基本思想:将两个或两个以上的有序表组合成一个新的有序表。归并的思路很好理解,有下面的示例:示例: Java代码:publicclassMSort{ publicstaticv
Appletable
·
2016-03-03 11:00
java
归并排序
排序算法
Java排序算法
总结之(三)——选择排序(简单选择排序、堆排序)
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序选择排序1.简单选择排序基本思想:对数列的n个元素进行比较,选出最小(或者最大)的元素,与起始位置的值交换,再从余下的数据中找到最小(最大)值,放在已排序部分的末尾,直到排序完毕。示例:选择排序
appletable
·
2016-03-02 15:58
Java排序算法总结
Java排序算法
总结之(三)——选择排序(简单选择排序、堆排序)
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序选择排序1.简单选择排序基本思想:对数列的n个元素进行比较,选出最小(或者最大)的元素,与起始位置的值交换,再从余下的数据中找到最小(最大)值,放在已排序部分的末尾,直到排序完毕。示例:选择排序
Appletable
·
2016-03-02 15:00
java
选择排序
堆排序
Java排序算法
总结之(二)——基于交换排序(冒泡排序、快速排序)
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序交换排序1.冒泡排序基本操作:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素
appletable
·
2016-03-01 20:22
Java排序算法总结
Java排序算法
总结之(二)——基于交换排序(冒泡排序、快速排序)
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序交换排序1.冒泡排序基本操作:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素
Appletable
·
2016-03-01 20:00
java
算法
冒泡排序
快速排序
Java排序算法
总结之(一)——插入排序(直接插入排序、折半插入排序、希尔排序)
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序评价排序算法的优劣一般从三个角度分析:空间复杂度:存储器使用量时间复杂度:最差、最好和平均时间复杂度稳定性。当序列中出现相等的数据时,经过排序后,前后顺序位置不变。插入排序(InsertionS
appletable
·
2016-02-29 22:21
Java排序算法总结
Java排序算法
总结之(一)——插入排序(直接插入排序、折半插入排序、希尔排序)
排序方法可以分为两种:内部排序和外部排序内部排序的方法很多,常用的大致可以分为:插入排序(直接插入排序、折半插入排序、希尔排序)交换排序(冒泡排序、快速排序)选择排序(简单选择排序、堆排序)归并排序基数排序评价排序算法的优劣一般从三个角度分析:空间复杂度:存储器使用量时间复杂度:最差、最好和平均时间复杂度稳定性。当序列中出现相等的数据时,经过排序后,前后顺序位置不变。插入排序(InsertionS
Appletable
·
2016-02-29 22:00
java
希尔排序
插入排序
排序算法
java排序算法
(三):快排
要点快速排序是一种交换排序。快速排序由C.A.R.Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。详细的图解往往比大堆的文字更有说明力,所以直接上图: 图-快速排序示例图中,演示了快速排序的处理过程:初始状态
ZuoAnYinXiang
·
2016-01-30 21:00
java排序算法
(二):直接选择排序
java排序算法
(二):直接选择排序一、基本概念首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(注:要把最大最小的元素和起始的元素交换),然后,再从剩余未排序元素中继续寻找最小(大)元素
ZuoAnYinXiang
·
2016-01-28 16:00
java排序算法
(一):堆排序
Java排序算法
(三):堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。
ZuoAnYinXiang
·
2016-01-28 11:00
java排序算法
对于一个排序算法来说,一般从3个方面来衡量算法的优劣。1、时间复杂度:主要是分析关键字的比较次数和记录的移动次数2、空间复杂度:分析排序算法需要多少辅助内存3、稳定性:若两个记录A和B的关键字值相等,但排序后A、B的先后次序保持不变,则称这种排序算法是稳定的;反之,就是不稳定的。排序算法大致可分为内部排序和外部排序。如果整个排序过程不需要借助于外部存储器(如磁盘),所有排序操作都在内存中完成,称为
chentian114
·
2016-01-07 15:00
java
算法
Java排序算法
1.插入排序publicstaticvoidinsertSort(){ inta[]={45,5,2,58,1,51,23,526,185,52}; inttemp=0; for(inti=1;i=0&&temp=0&&tempa[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } for(inti=0;i=temp){ high--; } a[lo
chaoyang805
·
2015-12-06 14:00
java
排序算法
Java排序算法
(十):桶式排序
Java排序算法
(十):桶式排序桶式排序不再是一种基于比较的排序方法,它是一种比较巧妙的排序方式,但这种排序方式需要待排序的序列满足以下两个特征:待排序列所有的值处于一个可枚举的范围之类;待排序列所在的这个可枚举的范围不应该太大
sushauai
·
2015-11-28 10:00
常用
Java排序算法
常用
Java排序算法
冒泡排序 、选择排序、快速排序 1 package com.javaee.corejava; 2 3 public class DataSort { 4
·
2015-11-12 23:39
Java排序
java排序算法
-归并排序
public class MergeSort { private static void mergeSortTest() { int[] in = { 2, 5, 3, 8, 6, 7, 1, 4, 0, 9 }; Utils.printArray("归并排序前:",in); int a[] = mergeSort(in); Utils.prin
·
2015-11-12 19:43
Java排序
java排序算法
-插入排序
public class InsertSortUtils { public static void main(String[] args) { insertSortTest(); shellSortTest(); } private static void insertSortTest() { int[] values = { 5, 2, 4, 1, 3 };
·
2015-11-12 19:43
Java排序
java排序算法
-交换排序
public class ExchangeSortUtils { // 冒泡 public static void bubbleSort(int[] array) { int length = array.length; int temp; boolean isSort; for (int i = 1; i < length; i++) { isS
·
2015-11-12 19:42
Java排序
java排序算法
-选择排序
public class SelectionSort { private static void selectSortTest() { int[] sortArray = { 5, 2, 4, 1, 3 }; System.out.print("选择排序前: "); Utils.printArray(sortArray); selectSort(
·
2015-11-12 19:41
Java排序
JAVA排序算法
一、冒泡排序 package sort.bubble; import java.util.Random; /** * 依次比较相邻的两个数,将小数放在前面,大数放在后面 * 冒泡排序,具有稳定性 &n
·
2015-11-11 16:01
Java排序
JAVA排序算法
之 选择排序
1. 选择排序 选择排序的基本思想是遍历数组的过程中,以i代表当前需要排序的序号,则需要在剩余的[i..n-1]中找出其中的最小值,然后将找到的最小值与i指向的值进行交换。因为每一次确定元素的过程中都会有一个选择很大值的子流程,所以称之为选择排序。 比如[38, 17, 16, 16, 7, 31, 39, 32, 2, 11] i = 0: [2 , 17, 16, 16, 7
·
2015-11-11 13:59
Java排序
java排序算法
学习(一)--冒泡排序
package com.tw.ds.sort; /** *<p>java数据结构之:冒泡排序方法 *冒泡排序算法的一般性策略:搜索整个值列,比较相邻元素,如果两者的相对次序不对,则交换它们, * 其结果是最大值“想水泡一样”移动到值列的最后一个位置上, * 这也是它在最终完成排序的值列中合适的位置。然后再次搜索值列, * 将第二大的值移动至倒数第二个位置上,重复该过程,直至将所有元素移
·
2015-10-31 19:13
Java排序
java排序算法
学习(一)--选择排序
package com.tw.ds.sort; /** * <p>选择排序法 * 选择排序算法的一般策略:搜索整个值列,以找到最小值。 * 将该值与值列中第一个位置上的值进行交换。搜索剩下的值列(第一个除外),以找到其中的最小值, * 然后将其与值列中第二个位置上的值进行交换。对值列中的每个位置重复该过程。 * 在算法结束时,就完成了对值列的排序。 * </p> * @au
·
2015-10-31 19:12
Java排序
JAVA排序算法
(非原创)
package Sort; class Data { Comparable key; Object value; public Data() { } public Data(Data data){ this.key=data.key; &n
·
2015-10-31 09:06
Java排序
Java排序算法
总结
1、冒泡排序 冒泡排序是排序算法中最基本的一种排序方法,该方法逐次比较两个相邻数据的大小并交换位置来完成对数据排序,每次比较的结果都找出了这次比较中数据的最大项,因为是逐次比较,所以效率是O(N^2)的。 [java] view plain copy print ? public void bubbleSort() { &nb
·
2015-10-23 08:52
Java排序
Java排序算法
(九):归并排序
归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表
小七_Dream
·
2015-09-28 11:00
java
排序
Java排序算法
总结之堆排序
本文实例讲述了
Java排序算法
总结之堆排序。分享给大家供大家参考。
一羽清宁
·
2015-05-19 11:50
Java排序算法
总结之归并排序
本文实例讲述了
Java排序算法
总结之归并排序。分享给大家供大家参考。具体分析如下:归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。
一羽清宁
·
2015-05-19 10:05
Java排序算法
总结之希尔排序
本文实例讲述了
Java排序算法
总结之希尔排序。分享给大家供大家参考。具体分析如下:前言:希尔排序(ShellSort)是插入排序的一种。是针对直接插入排序算法的改进。
一羽清宁
·
2015-05-19 10:05
Java排序算法
总结之冒泡排序
本文实例讲述了
Java排序算法
总结之冒泡排序。分享给大家供大家参考。具体分析如下:前言:冒泡排序(BubbleSort)就是依次比较相邻的两个数,将小数放在前面,大数放在后面。
一羽清宁
·
2015-05-19 10:57
Java排序算法
总结之选择排序
本文实例讲述了
Java排序算法
总结之选择排序。分享给大家供大家参考。
一羽清宁
·
2015-05-19 10:01
Java排序算法
总结之插入排序
本文实例讲述了Java插入排序方法。分享给大家供大家参考。具体分析如下:有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到插入排序法。本文主要介绍的是插入排序的java实现。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。比较和交换的时间复杂度为O(n^2),算法自适应,对于数据已
一羽清宁
·
2015-05-19 10:31
Java排序算法
1、插入排序 int[] a = {56,58,57,52} 思路:比较57,取出57,与前面的数字比较,若前面数据大于循环数字,则前面的数字向后移,直到前面数字不大于循环数字或为a[0],将移出的循环数字(57)插入。 public void insertSort(int a[]){ int length=a.length; //数组长度 int
ql0722
·
2015-01-05 19:00
Java排序
java排序算法
整理
排序算法的分类如下: 插入排序(直接插入排序、折半插入排序、希尔排序); 交换排序(冒泡泡排序、快速排序); 选择排序(直接选择排序、堆排序); 归并排序;基数排序。 1、插入排序:插入排序的基本思想是将整个记录序列划分成两部分:(有序区)[无序区],从无序区中取第一个记录,插入到有序区的正确位置,使有序区仍然保持有序;插入算法的关键是:如何确定插入位置。(1)直接插入排序:算法思想:把n个待
五大三粗
·
2014-12-27 15:00
java排序算法
1、冒泡排序 冒泡排序是排序算法中最基本的一种排序方法,该方法逐次比较两个相邻数据的大小并交换位置来完成对数据排序,每次比较的结果都找出了这次比较中数据的最大项,因为是逐次比较,所以效率是O(N^2)的。 [java] view plain copy public void bubbleSort() { 
骑着上帝去环游
·
2014-10-27 14:00
Java排序
Java排序算法
【总结】
1、冒泡排序冒泡排序是排序算法中最基本的一种排序方法,该方法逐次比较两个相邻数据的大小并交换位置来完成对数据排序,每次比较的结果都找出了这次比较中数据的最大项,因为是逐次比较,所以效率是O(N^2)的。[java] viewplaincopy public void bubbleSort() { int out,in; for(out=index-1; out>
zhuzhiguosnail
·
2014-10-27 09:00
Java排序算法
【总结】
阅读更多1、冒泡排序冒泡排序是排序算法中最基本的一种排序方法,该方法逐次比较两个相邻数据的大小并交换位置来完成对数据排序,每次比较的结果都找出了这次比较中数据的最大项,因为是逐次比较,所以效率是O(N^2)的。[java]viewplaincopypublicvoidbubbleSort(){intout,in;for(out=index-1;out>1;--out){for(in=0;inarr
zhuzhiguosnail
·
2014-10-27 09:00
Java排序算法
以及实现
排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。内排序有可以分为以下几类:(1)、插
u011467537
·
2014-10-25 08:00
java排序算法
1 快速排序
交换排序法->快速排序 快速排序使用分治法策略来把一个序列分为两个子序列 算法步骤: 1.从数列中挑出一个元素,称为"基准"(pivot) 2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分割结束之后,该基准就处于数列的中间位置。这个称为分割(partition)操作 3.递归地(recursive)把小于基准值元素的子数列和
hao707822882
·
2014-09-04 23:00
Java排序
Java排序算法
(二):直接选择排序
Java排序算法
(二):直接选择排序直接选择排序的基本操作就是每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完,它需要经过n-1趟比较。
techlgwjda
·
2014-08-23 18:47
算法
java
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他