码迷,mamicode.com
首页 >  
搜索关键字:归并    ( 3459个结果
堆排 归并排序 快排
堆排序的思想 利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从无序中选择最大记录(最小记录)变得简单。 其基本思想为(大顶堆): 1)将初始待排序关键字序列(R1,R2....Rn)构建成大顶堆,此堆为初始的无序区; 2)将堆顶元素R[1]与最后一个元素R[n]交换,此时...
分类:编程语言   时间:2015-03-31 23:52:59    阅读次数:245
归并排序求逆序数(POJ 1804,POJ 2299,HDU 4911)
首先,明确两个概念: 逆序对:数列a[1],a[2],a[3]…中的任意两个数a[i],a[j] (ia[j],那么我们就说这两个数构成了一个逆序对. 逆序数:一个数列中逆序对的总数. 例题一:POJ 1804.   点击打开链接 解题思路:每次交换只能减少一个逆序,而且必定能减少一个逆序,从而问题就转换为求逆序个数了。这题数据规模很小,暴力可过。 我这里提供了用Merge_sort的方...
分类:编程语言   时间:2015-03-31 18:07:05    阅读次数:142
【SGU】180. Inversions(归并排序求逆序数)
以前一般用树状数组和线段树做这种题 这次换个思路试试,归并排序! #include #include #include using namespace std; typedef long long LL; const int maxn = 111111; int n; int array[maxn]; int tmp[maxn]; LL ans; void my_sort(int l,int...
分类:编程语言   时间:2015-03-31 17:59:25    阅读次数:194
算法排序问题
针对几种算法排序问题进行设计和程序实现...
分类:编程语言   时间:2015-03-31 10:50:42    阅读次数:150
链表的排序 时间复杂度O(nlogn)
思路:用归并排序。对一个链表采用递归进行二等分,直到每个部分有序,然后对其进行合并。其实就是两步,先分解,然后合并有序链表。代码://对链表采用递归排序class Solution {public: ListNode* sortList(ListNode* head){ if(h...
分类:编程语言   时间:2015-03-31 00:23:10    阅读次数:224
外排序
外排序 外排序(External sorting)是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。外排序通常采用的是一种“排序-归并”的策略。 在排序阶段,先读入能放在内存中的数据量,将其排序输出到一个临时文件,依此进行,将待排序数据组织为多个有序的临时文件。尔后在归并阶段将这些临时文件组合为一个大的有序文件,也即排序结果。...
分类:编程语言   时间:2015-03-30 23:08:50    阅读次数:179
胜者树和败者树
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。 胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:其他好文   时间:2015-03-30 21:16:18    阅读次数:173
leetcode_num148_Sort list
链表的归并排序 特别注意取中值函数的书写 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { ...
分类:其他好文   时间:2015-03-30 21:15:46    阅读次数:172
oracle多表连接方式Hash Join Nested Loop Join Merge Join
在查看sql执行计划时,我们会发现表的连接方式有多种,本文对表的连接方式进行介绍以便更好看懂执行计划和理解sql执行原理。一、连接方式: 嵌套循环(NestedLoops (NL)) (散列)哈希连接(Hash Join (HJ)) (归并)排序合并连接(Sort Merge Join (SM...
分类:数据库   时间:2015-03-30 16:11:36    阅读次数:146
POJ-2442 Sequence (K路归并问题拓展)
题意:有n行含m个元素序列,从每行取一个数得到他们的和,一共可以得到m^n个和。输出前n个最小的和。 思路:可以用优先队列递归解决,当只取前两行的数,得到两个数的和的前n小的序列。这个序列就相当于把第一行和第二行合并,再解决n-1行的子问题。 用优先队列解决的时候也有点小技巧,类似尺取法。 //236 KB 563 ms C++ 1480 B #include #include #incl...
分类:其他好文   时间:2015-03-30 13:28:22    阅读次数:151
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!