码迷,mamicode.com
首页 >  
搜索关键字:归并排序    ( 2640个结果
白话经典算法系列之七 堆与堆排序
堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)不论什么一个子节点的键值。2.每一个结点的左子树和右...
分类:其他好文   时间:2014-08-10 23:54:20    阅读次数:289
[转]各种排序算法及其java程序实现
原文:http://blog.csdn.net/t12x3456/article/details/7430700各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序一、冒泡排序(BubbleSort)1. ...
分类:编程语言   时间:2014-08-10 21:10:51    阅读次数:429
POJ 2299 Ultra-QuickSort(线段树+离散化)
题目地址:POJ 2299 这题曾经用归并排序做过,线段树加上离散化也可以做。一般线段树的话会超时。 这题的数字最大到10^10次方,显然太大,但是可以利用下标,下标总共只有50w。可以从数字大的开始向树上加点,然后统计下标比它小即在它左边的数的个数。因为每加一个数的时候,比该数大的数已经加完了,这时候坐标在它左边的就是一对逆序数。 但是该题还有一个问题,就是数字重复的问题。这时候可以在排序...
分类:其他好文   时间:2014-08-10 15:43:20    阅读次数:210
快速排序法一窥
快速排序法作为一种分治法的算法,和归并排序法的差别在于,前者是先比较,后拆分,而后者是先拆分,在合并的过程中进行比较。快速排序法在原理上简单总结就是:切分:拿数组第一个数(也可以是随机任意一个)作为中心点(pivot);扫描其它所有数,将小于这个中心点的数归类到左边,大于中心点的归类到右边;将左边(...
分类:其他好文   时间:2014-08-10 15:22:30    阅读次数:208
快速排序 归并排序的非递归版本 备忘
首先,归并排序,分治,递归解决小的范围,再合并两个有序的小范围数组,便得到整个有序的数组。 这是很适合用递归来写的,至于非递归,便是从小到大,各个击破,从而使得整个数组有序。代码如下: void merge(vector &A, int left, int mid, int right) { int i=left,j=mid+1; vector tmp(right-left+1,0);...
分类:其他好文   时间:2014-08-10 13:08:00    阅读次数:235
Sort List && Insertion Sort List (链表排序总结)
说明:归并排序: 时间 O(nlogn),空间 O(1). 每次将链表一分为二, 然后再合并。快排(用两个指针) 说明: 与顺序表不同的时,每次找插入位置时从头开始走。
分类:其他好文   时间:2014-08-10 01:40:39    阅读次数:226
Sort List
Sort a linked list in O(n log n) time using constant space complexity.思路:题目要求O(n log n)的时间复杂度以及常空间复杂度,因此,使用归并排序策略。 1 class Solution { 2 public: 3 ...
分类:其他好文   时间:2014-08-09 23:13:19    阅读次数:284
归并排序算法一窥
归并排序法是一个基于分治法的比较排序方法,其最差情况复杂度为O(nlogn),而快速排序法的复杂度在最差情况下达到O(n2)本文使用PHP来讨论其算法过程:假设对乱序数列进行排序 $input = array(11,5,1,4,8,7,9,2);思路可以表示:(图是PPT画的,比较简单,请看官见谅)...
分类:其他好文   时间:2014-08-09 11:20:37    阅读次数:398
HDU 4911 Inversion(基本算法-排序)
HDU 4911 Inversion(基本算法-排序) 题目大意: 有n个数,问你经过K次交换后的逆序数最少多少个? 解题思路: 根据排序的思想,每一步都能减少1个逆序数,所以K步之多减少K个逆序数。 因此,这题转化为了求逆序数,数据量略微大,用归并排序即可。...
分类:其他好文   时间:2014-08-08 12:58:36    阅读次数:228
Atitit.现实生活中最好使用的排序方法-----ati排序法总结
Atitit.现实生活中最好使用的排序方法-----ati排序法总结   1. 现在的问题 1 2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置  )//归并排序//基数排序 1 3. 选择排序法  (垃圾...不好使用) 2 4. 堆排序-(雅十垃圾...不好用) 2 5. 希尔排序法 (雅十垃圾...不好用) 3 6. 冒泡排序法 (雅十垃圾......
分类:其他好文   时间:2014-08-07 00:53:17    阅读次数:253
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!