引言本文来自于Google的一道题目:how to merge two binary search tree into balanced binary search tree.how to merge two binary search tree into balanced binary searc...
分类:
其他好文 时间:
2015-01-22 13:15:23
阅读次数:
129
Sorting In Linear Time
之前尝试过很多的排序算法, 都是基于比较的排序算法(base on comparing)
Collection of algorithm for sorting (part one)
http://blog.csdn.net/cinmyheart/article/details/39268783
Collection...
分类:
编程语言 时间:
2015-01-11 17:49:12
阅读次数:
295
本文阐述了如何使用期望和线性时间的选择算法求得第i顺序统计量,欢迎拍砖!...
分类:
编程语言 时间:
2014-12-30 17:13:00
阅读次数:
205
本文讲述的决策树和计数排序的基本原理和实现方法,欢迎拍砖!...
分类:
编程语言 时间:
2014-12-24 16:24:00
阅读次数:
229
原文转自:http://www.cppblog.com/MatoNo1/archive/2011/04/17/144390.aspxKMP:给出两个字符串A(称为模板串)和B(称为子串),长度分别为lenA和lenB,要求在线性时间内,对于每个A[i] (0k,所以又有A[i..p]==B[i-k....
分类:
其他好文 时间:
2014-12-23 23:53:30
阅读次数:
347
梅西刚梅开二度,我也记一题。在一个没排序的数组里,找出排序后的相邻数字的最大差值。要求用线性时间和空间。如果用nlgn的话,直接排序然后判断就可以了。so easyclass Solution {public: int maximumGap(vector &num) { if (...
分类:
其他好文 时间:
2014-12-21 01:50:48
阅读次数:
263
文章来自网络加课本:
本次学习的内容讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素,并借助中位数进行优化处理,保证最坏保证运行时间是线性的O(n)。...
分类:
编程语言 时间:
2014-11-22 09:21:35
阅读次数:
286
搞ACM也有三年了,期间学习了不少算法,到12月把上海站打完也要成退役狗了。最近突然想把学过的一些算法回过头来好好总结一下,于是就有了我的算法总结系列。这是这个系列的开端,所以先写一个简单点的算法,以后会慢慢复习一些复杂的算法,最后还是希望自己能够坚持下去吧。
KMP算法
KMP算法是一种线性时间复杂度的字符串匹配算法,它是对BF(Brute-Force,最基本的字符串匹配算法)的改进。对...
分类:
编程语言 时间:
2014-11-20 17:07:09
阅读次数:
267
采用分治策略找出第K小的元素!要求程序的时间复杂度为线性函数。
#include
#include
#include
#include
#include
using namespace std;
/*
*选择问题(线性时间复杂度)
*在beg和end之间查找第k个元素
*/
int Fast_find(vector &vec,int beg,int end,int k)
{
if(k>end...
分类:
其他好文 时间:
2014-11-20 13:42:08
阅读次数:
234