码迷,mamicode.com
首页 >  
搜索关键字:线性时间    ( 426个结果
平均期望为线性时间的选择算法
从一组无序数据中选择出第i小的元素,采用了快速排序的思想。 随机化版本 ...
分类:编程语言   时间:2016-05-15 16:39:49    阅读次数:220
计数排序
前几篇博客排序算法都是 用的比较排序,时间复杂度最低的是 O(nlgn),这也是比较排序最优的时间复杂度。 这次计数排序用的是线性时间复杂度的排序,也就是说不是通过比较来确定排序顺序的。 计数排序是 假设n个元素中的每一个都是在0到k区间内的一个整数,也就是整个数组里最大的数是 k,这是我们需要一个数组B[]来存放排序的输出,用C[]来提供临时存储的空间。其中,特别有意思的是,C[i],它保存...
分类:编程语言   时间:2016-05-13 00:45:53    阅读次数:145
LeetCode:Single Number 3
题目大意:给定一个整数数组,其中除两个数字只出现一次外,其余数字均出现两次。找出这两个只出现一次的数字。例如:给定 nums = [1, 2, 1, 3, 2, 5],返回 [3, 5]注意:结果的顺序不重要。因此在上例中,[5, 3]也是正确的。你的算法应该满足线性时间复杂度。你可以只使用常数空间复杂度完成题目吗?解题思路1:使用字典,利用语句:dic[num]=dic.get(num,0)+1...
分类:其他好文   时间:2016-05-06 15:29:34    阅读次数:141
Top k问题(线性时间选择算法)
问题描述:给定n个整数,求其中第k小的数。 分析:显然,对所有的数据进行排序,即很容易找到第k小的数。但是排序的时间复杂度较高,很难达到线性时间,哈希排序可以实现,但是需要另外的辅助空间。 这里我提供了一种方法,可以在O(n)线性时间内解决Top k问题。关于时间复杂度的证明,不再解释,读者可以查阅 ...
分类:编程语言   时间:2016-04-25 19:19:50    阅读次数:506
常用排序总结
面试中经常碰到排序算法的问题,所以这里把常用的几种排序总结一下 线性时间排序 计数排序:首先统计每个数的个数,然后直接得出有序的序列。时间复杂度O(n + k),空间复杂度O(k),k表示数组中最大的数 不稳定 基数排序:从最低位开始,先按照该位的大小排序,然后按照次低位的大小排序.......最后 ...
分类:编程语言   时间:2016-04-21 23:39:42    阅读次数:318
【Leetcode】239. Sliding Window Maximum
问题描述: For example, Given nums = [1,3,-1,-3,5,3,6,7], and k = 3. Therefore, return the max sliding window as [3,3,5,5,6,7].、 问题分析: 又是一道区间最值的题,又要求近线性时间的 ...
分类:Windows程序   时间:2016-04-18 17:10:02    阅读次数:175
POJ 1330 Nearest Common Ancestors LCA
题目链接: http://poj.org/problem?id=1330 题意: 给你一颗有根树,最后输入一对数(a,b),叫你求a和b的公共祖先。 裸的lca,数据也很小,拿来练手不错。 题解: 1、tarjan_lca,离线,线性时间复杂度 代码: 1 #include<iostream> 2 ...
分类:其他好文   时间:2016-04-13 01:56:46    阅读次数:148
NUOJ 88
思路1: 找规律,本题若是直接暴力搜索,就是f(n)=2^n-1,然后f(n)%1000000,那么结果会越界;所以考虑用f(n+1)=(2*f(n)+1)%1000000,不过遇到较大数据的时候,会出现超时的情况,毕竟这个结果是线性时间增长的,和输入数据体量的大小有直接关系,所以这里还需要再次考虑 ...
分类:其他好文   时间:2016-04-03 13:07:41    阅读次数:201
六种排序算法C语言版(上)
排序即将一个无序的数组(序列)按照一定的规则排列,常见的规则便是按照从大到小或者从小到大的顺序。本文讨论的排序一律指按照从小到大的顺序进行排列的这种情况。 本文将分为上下两章介绍以下六种排序算法: (1)直接选择排序 (2)冒泡排序 (3)快速排序 (4)二分排序 (5)堆排序 (6)线性时间排序。 ...
分类:编程语言   时间:2016-03-31 23:25:04    阅读次数:154
桶排序/基数排序(Radix Sort)
说基数排序之前,我们先说桶排序: 基本思想:是将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到
分类:编程语言   时间:2016-03-18 21:33:21    阅读次数:168
426条   上一页 1 ... 26 27 28 29 30 ... 43 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!