码迷,mamicode.com
首页 >  
搜索关键字:线性时间    ( 426个结果
【转载】素数快速打表(据说是线性复杂度)
/* 遇到素数需要打表时,先估算素数的个数: num = n / lnx; num为大概数字,越大误差越小(只是估计,用于估算素数表数组大小) 这个打表法效率貌似很高,网上说几乎达到了线性时间(不知道是真是假=。=) */ #include ...
分类:其他好文   时间:2015-08-18 18:24:56    阅读次数:91
hdu 5340 Manachers + 枚举
题意:给你一个字符串问能否拆分为三个回文字符串?能就输出yes,否则输出no。知识补充:最长回文子串算法(Manacher算法):求解最长回文子串的线性时间复杂度算法,主要是通过中心扩展的方法极大地避免了重复计算。实现如下: 为了避免对字符串奇偶数的讨论,先对字符串做预处理如下: 规则为在字符间和两边插入'#'字符,为了避免越界处理,最两边插入'^'和'$'字符。 原本字符串为:asd 预处理后为:...
分类:其他好文   时间:2015-08-04 13:37:34    阅读次数:121
计数排序C语言实现
计数排序是稳定排序,而且是线性时间内的排序算法,时间复杂度是O(n + k)其中k是待排序数组的范围。计数排序不是原址排序,空间复杂度是O(n + k) //k是指A中的数组范围是0~k 包括0和k void count_sort(int A[], int B[], int n, int k) { int *C = (int *)malloc(sizeof(int) * ...
分类:编程语言   时间:2015-08-04 00:39:31    阅读次数:131
十大算法之线性查找
介绍: BFPRT算法解决的问题十分经典,即从某n个元素的序列中选出第k大(第k小)的元素,通过巧妙的分 析,BFPRT可以保证在最坏情况下仍为线性时间复杂度。该算法的思想与快速排序思想相似,当然,为使得算法在最坏情况下,依然能达到o(n)的时间复杂 度,五位算法作者做了精妙的处理。 时间复杂度 O(N) 算法步骤: 1. 将n个元素每5个一组,分成n/...
分类:编程语言   时间:2015-07-29 14:09:22    阅读次数:181
9.中位数与顺序统计量
摘要: 本章所讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元素...
分类:其他好文   时间:2015-07-25 21:27:46    阅读次数:245
斐波拉契数列加强版——时间复杂度O(1),空间复杂度O(1)
对于斐波拉契经典问题,我们都非常熟悉,通过递推公式F(n) = F(n - 1) + F(n - 2),我们可以在线性时间内求出第n项F(n),现在考虑斐波拉契的加强版,我们要求的项数n的范围为int范围内的非负整数,请设计一个高效算法,计算第n项F(n)。第一个斐波拉契数为F(0) = 1。 给定...
分类:其他好文   时间:2015-07-24 22:26:20    阅读次数:149
Tarjan的学习笔记 求割边求割点
博主图论比较弱,搜了模版也不会用。。。所以决心学习以下tarjan算法。割点和割边的概念不在赘述,tarjan能在线性时间复杂度内求出割边。重要的概念:时间戟,就是一个全局变量clock记录访问结点的时间。一个无向图dfs会形成一个森林,当图只有一个连通分量时,就只有一棵树。由于在无向图中,除了树边...
分类:其他好文   时间:2015-07-19 23:05:36    阅读次数:551
C++ STL replace()函数常用用法详解
replace算法:                 replace函数包含于头文件#include中。               泛型算法replace把队列中与给定值相等的所有值替换为另一个值,整个队列都被扫描,即此算法的各个版本都在    线性时间内执行———其复杂度为O(n)。            即replace的执行要遍历由区间[frist,last)限定的整个队列,以把o...
分类:编程语言   时间:2015-07-10 09:39:33    阅读次数:161
Binary Tree Traversal Algorithms (二叉树遍历算法)
本文共列出了11个常见的二叉树遍历算法。二叉树的遍历主要有深度优先遍历和广度优先遍历。深度优先遍历包含前序遍历、中序遍历和后序遍历。值得一提的是, 其中的 Morris 算法 可以线性时间不需要额外空间(用户栈或系统栈空间)实现二叉树的前序遍历、中序遍历和后序遍历。关于Morris算法, 可参考ht...
分类:编程语言   时间:2015-07-06 11:41:08    阅读次数:252
LeetCode229 MajorityElementII java题解
题目:Given an integer array of size n, find all elements that appear more than ? n/3 ? times. The algorithm should run in linear time and in O(1) space. 求出现次数大于三分之一数组的长度,所以最多就只有2个这样的元素,题目要求线性时间复杂度和常数的空...
分类:编程语言   时间:2015-07-01 23:47:42    阅读次数:424
426条   上一页 1 ... 29 30 31 32 33 ... 43 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!