最新文章列表

归并排序

归并排序:是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。   排序基本思想是:       将序列每相邻两个数字进行归并操作(merge),形成floor(n/2)个序列,排序后每个序列包含两个元素,将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素,重复步骤2,直到所有元素排序完毕     ...
lizhao6210126.com 评论(0) 有1111人浏览 2013-03-19 15:25

单链表插入排序

链表插入排序的基本思想是:       在每个对象的结点中增加一个链域link。         对于存放于数组中的一组对象V[1],V[2],…,V[n],若V[1],V[2],…,V[i-1]已经通过链接指针link,按其排序码的大小,从小到大链接起来         现在要插入V[i],i=2,3,…,n,则必须在前面i-1个链接起来的对象当中,循链顺序检测比较,找到V[i]应插入(链 ...
lizhao6210126.com 评论(0) 有1401人浏览 2013-03-19 15:22

Java算法分析,举个例子

public class Test { public static void main(String[] args) { int[] src={10,5,7,4,9};       int len=src.length;              /**        * 冒泡查询       for(int i=0;i<le ...
一片淡紫 评论(0) 有565人浏览 2013-03-18 18:52

折半插入排序

折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。 基本思想: 折半插入排序算法的具体操作为:在将一个新元素插入已排好序的数组的过程中,寻找插入点时,将待插入区域的首元素设置为a[lo ...
lizhao6210126.com 评论(0) 有841人浏览 2013-03-15 15:48

希尔排序

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

直接插入排序

直接插入排序:       将n个元素的数列分为已有序和无序两个部分,每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中       算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法                    {{a1},{a2,a3,a4,…,an}}       {{a1⑴,a2⑴} ...
lizhao6210126.com 评论(0) 有952人浏览 2013-03-15 15:41

选择排序

选择排序:       选择排序和冒泡排序差不多,只是冒泡排序在发现比它小的时候就交换,而选择排序是只有在确定了最小的数据之后,才会发生交换。       选择排序的基本思想:第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换。       先临时记录其位置,只有在一趟循环完以后确定了最小的数据,才会发生交换。         ...
lizhao6210126.com 评论(0) 有785人浏览 2013-03-15 14:04

堆排序

堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。 1. 堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]& ...
lizhao6210126.com 评论(0) 有766人浏览 2013-03-12 16:05

快速排序

快速排序: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。 把整个序列看做一个数组,把第零个位置看做中轴,和最后一个比,如果比它小交换,比它大不做任何处理; 交换了以后再和小的那端比,比它小不交换,比他大交换。 这样循环往复,一趟排序完成,左边就是比中轴小的,右边就是比中轴大的, 然后再用分治法,分别 ...
lizhao6210126.com 评论(0) 有772人浏览 2013-03-12 14:16

冒泡排序

冒泡排序: 就是将第一个记录的关键字和第二个记录的关键字进行比较,  如果后面的比前面的小则交换,然后比较第二个和第三个,依次类推。 比完一趟,最大的那个已经放到了最后的位置,这样就可以对前面N-1个数再循环比较。    稳定,时间复杂度 O(n^2)   public class BubbleSort { public void bubble(Integer[] data ...
lizhao6210126.com 评论(0) 有675人浏览 2013-03-12 11:51

排序算法

Arrays.java's sort method uses quicksort for arrays of primitives and merge sort for arrays of objects。 [经典排序算法][集锦] http://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html 补充: 排序算法——堆排序: http:// ...
Wuaner 评论(0) 有1257人浏览 2012-08-25 09:17

c++实现的一些排序算法

最近用c++简单实现了一些排序算法,记下来,以便以后用到 //合并排序全代码 void merge (int a[], int low, int high) { int i, j, k = -1; for (i=low, j=(low+high)/2+1; i<=(low+high)/2||j<=high; ) { if ( i&g ...
缥缈孤鸿 评论(0) 有1394人浏览 2012-08-15 11:37

排序算法总结(java实现)

  排序算法的分类如下:    1.插入排序(直接插入排序、折半插入排序、希尔排序);    2.交换排序(冒泡泡排序、快速排序);    3.选择排序(直接选择排序、堆排序);    4.归并排序;    5.基数排序。 关于排序方法的选择:    (1)若n较小(如n≤50),可采用直接插入或直接选择排序。  当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少 ...
wuxing429 评论(0) 有787人浏览 2012-07-12 16:12

java插入排序和希尔排序

今天看了下 排序 写的不好 主要写插入和希尔排序 ,我的理解插入排序就是希尔排序增量为1的特殊希尔排序,希尔排序是为了解决插入排序中的数组移动次数太多 import java.util.Arrays; public class StraightSort { /** * @param args */ public static void main(String ...
hxr521521 评论(0) 有877人浏览 2012-06-28 17:19

常用排序算法小结(附Java实现)

常用排序算法小记 排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。 废话不多说,下面逐一看看经典的排序算法: 1. 选择排序 选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1] 中找出其中的最小值,然后将找到的最小值与 i 指向的值进行交换。因为每一趟确定元素的过程中都会 ...
bigsea 评论(0) 有592人浏览 2012-06-28 16:20

常用排序算法小结(附Java实现)

  常用排序算法小记 排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。 废话不多说,下面逐一看看经典的排序算法:   1. 选择排序 选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1] 中找出其中的最小值,然后将找到的最小值与 i 指向的值进行交换。因为每一趟确定元素的 ...
easense2009 评论(33) 有37539人浏览 2012-06-26 22:53

【转】各种排序的java实现

转自 http://blog.csdn.net/shanliangliuxing/article/details/7010607 各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序 冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序 一、冒泡排序(BubbleSort) 1. 基本思想:   两两比较待排序数据元素的大小,发现两个数据元素的次序相反时 ...
hanazawakana 评论(0) 有796人浏览 2012-06-13 19:48

利用分治法排序

分治法: 有很多算法在结构上是递归的,为了解决这一给定的问题,算法要一次或者多次的递归调用其自身来解决问题,通常这样的算法会用到分治法 ...
剑锋无刃 评论(0) 有1258人浏览 2012-04-17 01:55

Java选择排序算法

package com.niit; import java.util.Random; public class SelectSort { /** * @param args */ public static void main(String[] args) { Random random = new Random(); int values[] ...
fatedgar 评论(0) 有847人浏览 2012-02-10 12:46

最近博客热门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