码迷,mamicode.com
首页 >  
搜索关键字:归并排序 二分查找    ( 5560个结果
排序算法学习之归并排序
1. 归并排序原理:有长度为n的子序列a[n],可以将其看做n个长度为1的子序列,将相邻子序列两两归并后子序列数量减少一半,再对子序列进行两两归并,数量又减少一般,重复直到得到一个长度为n的子序列2. 实现归并操作的代码如下:/*array[s…m]和array[m+1…t]均已各自有序,合并使得a...
分类:其他好文   时间:2014-05-10 00:28:40    阅读次数:382
排序算法 之 冒泡排序
之前看到一个题目,大概是:有一个长度为n的数组,数组内的元素取值范围为0到m,且不相等,要求元素经过n次移动后使数组有序(即算法的复杂度为O(n))。看到题目后想了快速排序和归并排序发现并不能满足题目要求,直到有次看书有看到了桶排序然后豁然开朗,所以决定把这些排序算法再写一遍,加深记忆。约定:之后的...
分类:其他好文   时间:2014-05-09 10:52:49    阅读次数:333
·算法」 纲要
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:其他好文   时间:2014-05-09 08:10:36    阅读次数:338
算法入门之归并排序(自顶向下方法)
归并排序原理: 归并排序用到的是分治思想,即把一个大问题分成两个小问题,然后把一个小问题再分为两个更小的小问题,从最小的问题开始解决,然后把小问题的结果进行整合,最终解决大问题,这种思想是自顶向下的方法,特点是先进行递归,最终进行排序,在之后的快速排序中可以看到,快速排序特点是先进行排序,后进行递归...
分类:其他好文   时间:2014-05-09 06:15:26    阅读次数:280
Python归并排序(递归实现)
为什么归并排序如此有用?1. 快捷和稳定归并排序成为?一个非常棒的排序算法主要是因为它的快捷和稳定。它的复杂度即使在最差情况下都是O(n log n)。而快速排序在最差情况下的复杂度是O(n^2),当n=20的时候,它比归并要慢4.6倍。2.容易实现#coding:utf-8def merge_so...
分类:编程语言   时间:2014-05-09 03:44:58    阅读次数:386
折半查找(二分查找)
二分查找、折半查找...
分类:其他好文   时间:2014-05-09 01:28:27    阅读次数:340
poj-2299 Ultra—QuickSort(归并排序求逆序数)
归并排序求逆序数...
分类:其他好文   时间:2014-05-09 01:13:27    阅读次数:299
数据结构-归并排序
归并排序的基本思想:首先,将R[0..n-1]看成是n个长度为1的有序表,将相邻的有序表进行归并,得到n/2个长度为2的有序表;然后,再将这些有序表成对归并,得到n/4个长度为4的有序表,如此循环下去,最后得到一个长度为n的有序表。 注意的是:Merge()实现了一次归并,接下来需要利用Mer...
分类:其他好文   时间:2014-05-08 14:28:05    阅读次数:484
【C++】【STL】二分查找函数
binary_search 这个函数的返回值是布尔型,也就是最简单的找到了就为真,没找到就是假。 传入参数有三个,数据集合的左端点,数据集合的右端点,查找的值。 注意这些左端点右端点是要求左开右闭原则的,就是和数学上的左开右闭区间[a, b)一样,右端点是个不会被查阅的值。 一般来说写法类似: bo...
分类:编程语言   时间:2014-05-07 12:47:43    阅读次数:436
Java实现算法归并排序(MergeSort)
归并排序    归并排序 (merge sort) 是一类与插入排序、交换排序、选择排序不同的另一种排序方法。归并的含义是将两个或两个以上的有序表合并成一个新的有序表。归并排序有多路归并排序、两路归并排序 , 可用于内排序,也可以用于外排序。这里仅对内排序的两路归并方法进行讨论。  1.两路归并排序算法思路 ①把 n 个记录看成 n 个长度为1的有序子表; ②进行两两归并使记录关键字有序,...
分类:编程语言   时间:2014-05-07 11:47:08    阅读次数:347
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!