最新文章列表

希尔排序

希尔排序思路概括来说是:分组 + 插入排序. /**      * 希尔排序      * 思路:希尔排序,是缩小增量排序, 需要分组. 对每个分组实行直接插入排序.      * 最好的情况:O(nlog2n)      * 最坏的情况:O(n ^ 2)      * 不稳定      * 使用情况:中等大小规模      */     @Test     public void testSh ...
一剪梅 评论(0) 有324人浏览 2019-02-21 10:57

希尔排序

    算法逻辑                                                                               算法动画      import java.util.Arrays; /** * <pre> * 步骤1:比如现在有数组{82 ,31 ,29 ,71, 72, 42, 64, 5,11 ...
knight_black_bob 评论(0) 有982人浏览 2017-09-07 14:22

排序算法(二)--希尔排序(插入排序)

  希尔排序属于插入排序的一种,也称为缩小增量排序 基本思想:   将待排序数列划分为几个数列,对这几个数列分别进行直接插入排序 具体操作:   选取增量d(小于数列长度n),将数列划分为n/d个数列,对划分的数列进行直接插入排序   再选取一个增量d1,d1<d,重复上述步骤   直到dn = 1结束 取d=5 23 52 12 63 8 17 28 7 ...
room_bb 评论(0) 有642人浏览 2016-05-27 10:37

排序算法(3)--插入排序&希尔排序

一、插入排序  (1)、主要思路: 假设数组分为两部分,有序部分【0~i-1】,无序部分【i~N】。初始有序部分只有一个元素。 从有序部分【0~i-1】 ...
haoran_10 评论(0) 有1919人浏览 2015-12-26 21:09

使用python实现8大排序算法-希尔排序

希尔排序的基本思想: 希尔排序是基于插入排序的改进,由于插入排序对于已排好的数列操作时是高效的,但插入排序一般是比较低效的,因为一次只能移动一位。所以希尔排序先通过分组进行排序,直到分组增量为1 。 例:        arr = [49,38,04,97,76,13,27,49,55,65],分组增量为5时,红色数为一组,进行插入排序,依次循环遍历        arr = [13,3 ...
wuqinwang 评论(0) 有2179人浏览 2015-10-14 16:28

排序算法--插入排序

         排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里的排序是内部排序。         所谓排序,就是要整理表中的记录,使之按关键字递增(或递减)有序排列,当排序的关键字都不相同时,排序结果是唯一的。本篇博客介绍插入排序。          插入排序的基本思想是:每 ...
hm4123660 评论(0) 有1436人浏览 2015-04-02 20:47

希尔排序

/**希尔排序的原理:根据需求,如果你想要结果从大到小排列,它会首先将数组进行分组,然后将较大值移到前面,较小值 * 移到后面,最后将整个数组进行插入排序,这样比起一开始就用插入排序减少了数据交换和移动的次数,可以说希尔排序是加强 * 版的插入排序 * 拿数组5, 2, 8, 9, 1, 3,4来说,数组长度为7,当increment为3时,数组分为两个序列 * 5,2,8和9, ...
lala_kpp 评论(0) 有582人浏览 2015-03-27 10:24

java实现插入排序(直接插入、二分查找插入、希尔排序)

直接插入排序         直接插入排序的原理:先将原序列分为有序区和无序区,然后再经过比较和后移操作将无序区元素插入到有序区中,         下面表格中,排序之前取第一个元素为有序区10,无序区9到4,带颜色为有序区。   待排序数组 10 9 8 7 6 5 4 第一次排序 9 10 8 7 6 5 4
shuizhaosi888 评论(0) 有2586人浏览 2015-01-19 08:21

希尔排序

希尔排序的主要思想: 1.设定若干个步长step 2.将待排序列按照步长增量分为多个序列,比如步长是2,则将待排序列分为(1,3,5,7....)(2,4,6,8....)两个待排序列 3.分别对若干个待排序列进行直接插入排序 4.最后对整个序列做一次直接插入排序 注:直接插入排序在序列有顺序的时候,效率很高   public class ShellSort { pr ...
happy_tao_cool 评论(0) 有619人浏览 2014-11-27 23:17

排序法:希尔排序

希尔排序 : (缩小增量排序)  排序原理:设置一个增量n,将所有下标为增量倍数的值放入到一个组中,对该组进行排序,然后重复这个方法,取增量m (m < n ,后面所取的增量应该递减),查找到增量m倍数的值进行排序。 希尔排序属于插入排序,是将整个有序序列分割成若干小的子序列分别进行插入排序。   (注:增量应该小于该数组的长度,一般取 length / 2 的整数值,有关 ...
lycccxzt 评论(0) 有508人浏览 2014-08-01 11:54

八大排序算法总结

一直以来对排序算法模模糊糊,最近又要面试,于是找了些资料,网上整理的很多,摘录一篇,以备日后复习,原文转自<a href='http://blog.csdn.net/yexinghai/article/details/4649923'>八大排序算法总结 </a> 1.直接插入排序 原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去, ...
如若_晴 评论(0) 有514人浏览 2014-04-07 09:40

java实现常用的八种内排序方法

       虽然以前写过两篇关于内排序的博客,但时间一长这算法也就容易忘记了,所以最近又整理了一次,将八种排序方法一一实现下,它们分别是: 直接插入排序 希尔排序 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 最低位优先的基数排序       前面七种排序我用的数据结构是hashMap,其储存方式为<key,value>的键值对形式,我选的 ...
java--hhf 评论(1) 有3226人浏览 2014-03-22 18:02

希尔排序

希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而 ...
20131007 评论(0) 有918人浏览 2013-12-12 10:12

数组与排序算法

一、数组的定义       1.基本用法        Type arrayName[ ]        与C中不同的是,java在数组定义时并不为元素分配内存,而对于如上定义的数组 ...
海阔天空yqh 评论(0) 有1028人浏览 2013-07-31 16:37

算法可视化系列——排序算法——希尔排序

排序算法可视化系列——篇三“希尔排序”   希尔排序   基本思想分析: 在我的第一个排序算法可视化中,分析了插入排序,但是我们知道,对于数组尺 度比较大的,并且无序度很大,那么使用直接插入排序比较相邻的元素,然后进行排 序,这样做很麻烦。但是如果数组的无序度不是很大的话,那么插入排序就很好了, 比如说我们可以分析两种情况,一种最为糟糕的情况是使用插入排序时,每次都需要 交换, ...
wojiaolongyinong 评论(3) 有1732人浏览 2013-05-12 14:52

java实现的9种排序

交换排序: 1.冒泡排序 public static void bubble(int arr[]){ for(int i=1;i<arr.length;i++){//控制次数 for(int j=0;j<arr.length-i;j++){//控制当前比较到那个位置 ...
alask2011 评论(0) 有1207人浏览 2013-04-23 21:07

希尔排序

希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 基本思想: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序
lizhao6210126.com 评论(0) 有709人浏览 2013-03-15 15:45

java排序算法(菜鸟版)

数据结构相关的内容在这里。       package sort; import java.util.Arrays; public class ArraySorter { /** * int数组的排序工具 复习五种排序方法: 交换排序 ...
zhangshangfeng 评论(0) 有1160人浏览 2012-08-28 22:04

希尔排序

  Time limit: 10000MS    Memory limit: 32768K 请用希尔排序对给定的数组进行从小到大排序后输出。 输入分两行,第一行一个整数n(1<=n<=3000000),第二行n个数,每个数都是32位整数型,两个数之间有1个空格隔开。输出也分两行,第一行一个整数n,第二行是排序后的n个数,两个数之间有1个空格隔开。 Sample In ...
synchronized_lala 评论(0) 有874人浏览 2012-08-14 19:18

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics