码迷,mamicode.com
首页 >  
搜索关键字:败者树    ( 20个结果
多路归并排序之败者树
#include#include#define M 4using namespace std;class LoserTree{private: // 调整K为2的整数次幂 int round(int k) { if(k&(k-1)!=0) { ...
分类:编程语言   时间:2015-06-25 18:57:19    阅读次数:358
序列(两)密钥索引、桶排序、位图、失败者树(照片详细解释--失败者树)
序列(两)以上排序算法都有一个性质:在排序的终于结果中,各元素的次序依赖于它们之间的比較。我们把这类排序算法称为比較排序。不论什么比較排序的时间复杂度的下界是nlgn。下面排序算法是用运算而不是比較来确定排序顺序的。因此下界nlgn对它们是不适用的。键索引计数法(计数排序)计数排序如果n个输入元素中...
分类:编程语言   时间:2015-06-25 15:19:25    阅读次数:252
看数据结构写代码(66) 败者树
计算机的 内存 是 有限的,无法 存入 庞大的数据。当 遇到 大数据需要排序时,我们 需要 将 这些 数据 分段 从 硬盘里 读到 内存中,排好序,再 写入到 硬盘中,这些段 叫做 归并段。最后将 这些 分段 合并 成 一个 最终  完整 有序的 数据。  这里 操作的 时间 =  内部 排序 时间 +  外存读写时间 + 内部归并所需时间。 其中 外存 读写时间 最耗时,外存读写时间 = ...
分类:其他好文   时间:2015-05-05 10:45:00    阅读次数:199
(转)败者树 和 胜者树---数组实现
转自:http://blog.csdn.net/sqx2011/article/details/8241734胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树...
分类:编程语言   时间:2015-04-25 13:26:08    阅读次数:390
胜者树和败者树
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。 胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:其他好文   时间:2015-03-30 21:16:18    阅读次数:173
堆排序、胜者树、败者树,孰优孰劣?
在顺序存储结构中,堆排序是一种非常不错的高级选择排序算法,普通情况和最差情况下都可以将时间复杂度控制在O(n * logn)。 堆排序可以用在顺序存储结构,是因为完全二叉树的一种独特性质。而这里还要先提一下满二...
分类:编程语言   时间:2015-03-15 21:30:04    阅读次数:451
C++ 模板实现败者树,进行多路归并
项目需要实现一个败者树,今天研究了一下,附上实现代码。几点说明:1. 败者树思想及实现参考这里:http://www.cnblogs.com/benjamin-t/p/3325401.html2. 多路归并中的“多路”的容器使用的是C语言数组 + 数组长度的实现(即const ContainerTy...
分类:编程语言   时间:2014-10-17 23:06:21    阅读次数:380
一篇能够加深对胜者树和败者树理解的文章
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。 胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:其他好文   时间:2014-09-25 23:56:08    阅读次数:279
编程算法 - K路归并排序(k-way merge sort) 代码(C++)
K路归并排序(k-way merge sort) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendyK路归并排序作为经典的外部排序算法, 是程序员必须要掌握的.知识概念参考: 主要思想: 在k个已排序的文件中, 选择第一个值, 采用败者树, 更新二叉树结构, 最终选择最优值.代码仅供参考, 如最小值用(-1)代替, 最大值用(100)代替./* *...
分类:编程语言   时间:2014-09-11 15:27:52    阅读次数:199
排序(二)键索引、桶排序、位示图、败者树等
排序(二) 以上排序算法都有一个性质:在排序的最终结果中,各元素的次序依赖于它们之间的比较。我们把这类排序算法称为比较排序。 任何比较排序的时间复杂度的下界是nlgn。   以下排序算法是用运算而不是比较来确定排序顺序的。因此下界nlgn对它们是不适用的。   键索引计数法(计数排序) 计数排序假设n个输入元素中的每一个都是在0到k区间的一个整数,其中k为某个整数...
分类:其他好文   时间:2014-05-24 20:26:16    阅读次数:273
20条   上一页 1 2
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!