码迷,mamicode.com
首页 >  
搜索关键字:分治策略 c++ 合并排序    ( 404个结果
快速排序(转)
上篇文章介绍了时间复杂度为O(nlgn)的合并排序,本篇文章介绍时间复杂度同样为O(nlgn)但是排序速度比合并排序更快的快速排序(Quick Sort)。 快速排序是20世纪科技领域的十大算法之一 ,他由C. A. R. Hoare于1960年提出的一种划分交换排序。 快速排序也是一种采用分治法解 ...
分类:编程语言   时间:2017-05-11 15:15:40    阅读次数:314
归并排序(转)
合并排序,顾名思义,就是通过将两个有序的序列合并为一个大的有序的序列的方式来实现排序。合并排序是一种典型的分治算法:首先将序列分为两部分,然后对每一部分进行循环递归的排序,然后逐个将结果进行合并。 合并排序最大的优点是它的时间复杂度为O(nlgn),这个是我们之前的选择排序和插入排序所达不到的。他还 ...
分类:编程语言   时间:2017-05-11 15:14:02    阅读次数:273
算法:用分治法设计gray码
问题描述: Gray码是一个长度为2n的序列。序列中无相同的原图,每个元素都是长度为n位的串,相邻元素恰好只有一位不同。用分治策略设计一个算法对任意的n构造相应的Gray码。 算法设计: n=1时,Gray码:0,1 n=2时,Gray码:00,10, 11,01 n=3时,Gray码:000,01 ...
分类:编程语言   时间:2017-04-21 22:49:40    阅读次数:867
poj1002总结
1、之前一直是runtime error,没有找出具体原因,把冒牌排序改成了合并排序,当输入是100000行时,从大约10s变到1s内 2、感觉是atoi指针导致的,当判断atoi的入参不为NULL时才调用,提交结果变成了WA 3、修改了对输入时有QZ情况的处理,当一行中有QZ时,不是直接忽略该行, ...
分类:其他好文   时间:2017-04-16 23:00:22    阅读次数:185
快速排序算法
1. 快速排序算法简介 快速排序方法是对冒泡排序的一种改进,基本思想是将待排序序列分成两部分,使其中一部分的记录都比另一部分的小,随后分别对这两部分再进行重复划分,最终使得整个序列有序。 该方法的基本思想是:(分治策略) 设置low,high两个指针,分别指向序列的第一个记录和最后一个记录。此时lo ...
分类:编程语言   时间:2017-04-15 12:26:58    阅读次数:257
最小生成树之克鲁斯卡尔(Kruskal)算法
学习最小生成树算法之前我们先来了解下 下面这些概念: 树(Tree):如果一个无向连通图中不存在回路,则这种图称为树。 生成树 (Spanning Tree):无向连通图G的一个子图如果是一颗包含G的所有顶点的树,则该子图称为G的生成树。 生成树是连通图的极小连通子图。这里所谓极小是指:若在树中任意 ...
分类:编程语言   时间:2017-04-12 02:07:46    阅读次数:347
分治算法——合并排序与自然排序
合并排序算法: public class MergeSort { public static void MergeSort(int A[],int low,int high){ if(low<high){ int middle=(low+high)/2; MergeSort(A,low,middle ...
分类:编程语言   时间:2017-04-08 20:53:09    阅读次数:227
循环赛日程表
【题目】 设计一个满足以下要求的比赛日程表:(1) 每个选手必须与其他n-1个选手各赛一次;(2) 每个选手一天只能赛一次;(3) 循环赛一共进行n-1天。 传统方法:将比赛日程表设计为:n行 n-1列的表(i,j)表示:第i个选手在第j 天 遇到的选手 【算法解析】 按分治策略,将所有的选手分为两 ...
分类:其他好文   时间:2017-04-06 10:09:09    阅读次数:162
文件的合并排序与文件分割
背景:一个文件内有多条数据记录,每条记录为一行,记录按时间字段升序排序。 需求1:将多个这样的文件合并成一个按时间排序的文件 需求2:将一个按数据记录时间字段排好序的大文件分割成几个小文件 代码: 1 /** 2 * 假定个文件内的数据有序 3 * 4 * @author zsm 5 * @date ...
分类:编程语言   时间:2017-03-10 18:05:28    阅读次数:145
归并排序Merge sort2
原理,把原始数组分成若干子数组,对每一个子数组进行排序, 继续把子数组与子数组合并,合并后仍然有序,直到全部合并完,形成有序的数组 举例 无序数组[6 2 4 1 5 9] 先看一下每个步骤下的状态,完了再看合并细节 第一步 [6 2 4 1 5 9]原始状态 第二步 [2 6] [1 4] [5 ...
分类:编程语言   时间:2017-03-09 21:48:40    阅读次数:222
404条   上一页 1 ... 14 15 16 17 18 ... 41 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!