码迷,mamicode.com
首页 >  
搜索关键字:归并    ( 3459个结果
算法学习之排序算法:归并排序
“归并”的含义是将两个或两个以上的有序表组合成一个新的有序表。无论是顺序存储还是链表存储结构,都可在O(m+n)的时间量级上实现。         归并排序又是一类不同的排序方法。假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个为2或1的有序子序列;再两两归并,....... ,如此重复,直至得到一个长度为n的有序序列为止。 初始关...
分类:其他好文   时间:2014-09-13 09:23:54    阅读次数:185
算法之逆序对问题求解
题目:   给出一列数,a1, a2,....到 an,求它的逆序对数。逆序对就是 下标 i 比 j小,但是值 ai 却比 a j大。n 可以高大 10万。  思路: (1)穷举,肯定不现实的,因为n 可以高达10万,肯定超时; (2)考录分治法,受到归并排序的启发,能不能不断划分数组到最小,然后合并时统计 逆序对数。划分和递归都和归并排序没什么区别,问题在合并时如何统计。 合并左右两个数...
分类:其他好文   时间:2014-09-11 22:29:12    阅读次数:220
编程算法 - 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
POJ 2442-Sequence(heap+k路归并)
Sequence Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 7447   Accepted: 2451 Description Given m sequences, each contains n non-negative integer. Now we ma...
分类:其他好文   时间:2014-09-10 21:08:11    阅读次数:200
【数据结构】二叉堆
看到一篇很好的博文,来自http://blog.csdn.net/morewindows/article/details/6709644下面是博文内容堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆...
分类:其他好文   时间:2014-09-10 19:19:10    阅读次数:214
排序算法及其比较--数据结构课设
排序算法及其比较课程设计报告一、设计内容编程实现希尔、快速、堆排序、归并排序算法,并利用程序统计每种算法的执行时间。要求随机产生10000(或50000、100000、200000,由用户选择)个数据存入数据文件,然后读数据文件,分别采用不同排序方法进行排序,将结果存入另一个文件中。二、设计思想描述...
分类:其他好文   时间:2014-09-10 17:38:30    阅读次数:211
chapter 15 排序
几种排序方法:冒泡 希尔  插入  快排  堆排  归并 sort.h #ifndef _SORT_H_ #define _SORT_H_ void insert_sort(int*, int); void bubble_sort(int*, int); void shell_sort(int *, int); void quick_sort(int*, int, int); voi...
分类:其他好文   时间:2014-09-09 23:04:39    阅读次数:369
计数排序
算法导论:任意一个比较排序算法,在最坏的情况下,至少要做n*lg(n)次的比较,因此堆排序与归并排序是渐近最优的比较排序算法但计数排序、基数排序和桶排序都不采用比较的方式来确定元素的顺序,因此下界n*lg(n)对它们并不适用计数排序假设被排序的元素都在范围[0, k]中,k为正整数,当k=O(n)的...
分类:其他好文   时间:2014-09-09 20:05:59    阅读次数:201
7种排序 C++实现
在看了morewindows的白话经典算法的排序教程后,我用C++ 来...
分类:编程语言   时间:2014-09-09 18:20:39    阅读次数:194
排序算法之归并排序
归并的含义是将两个或两个以上的有序表组合成一个新的有序表。假定待排序表中含有n个记录,则可以看成是n个有序的字表,每个表的长度为1,然后两两归并,得到[n/2]个长度为2或1的有序表;再两两归并,......如此重复,直到合并成一个长度为n的有序表为止,这种方法称为2-路归并排序。(图片来源)算法实...
分类:其他好文   时间:2014-09-09 17:58:29    阅读次数:162
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!