码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
O(1) 空间复杂度逆序栈和排序栈
两种操作都是递归实现,汉诺塔思想。#include #include using namespace std;void reverse(stack &s)//逆序栈 { if(s.size()==0) return ; int a=s.top(); s.pop(); if(s.size()==0) {...
分类:编程语言   时间:2015-03-29 21:01:09    阅读次数:247
【线段树】bzoj3922 Karin的弹幕
设置一个值K。dK:暴力。最优时间复杂度的伪计算:O(n*K*logn(建树)+m*logn(询问类型1)+m*n/K(询问类型2)+m*K*logn(修改))。求此函数最小值,易得,当K=sqrt(m/logn)时,时间复杂度:O(m*sqrt(m*logn))。空间复杂度:O(n*sqrt(m/...
分类:其他好文   时间:2015-03-29 19:32:45    阅读次数:137
算法导论:快速找出无序数组中第k小的数
题目描述: 给定一个无序整数数组,返回这个数组中第k小的数。 解析: 最平常的思路是将数组排序,最快的排序是快排,然后返回已排序数组的第k个数,算法时间复杂度为O(nlogn),空间复杂度为O(1)。使用快排的思想,但是每次只对patition之后的数组的一半递归,这样可以将时间复杂度将为O(n)。...
分类:编程语言   时间:2015-03-29 15:10:36    阅读次数:308
LeetCode OJ Linked List: 138题、109题和191题
138题:Copy List with Random Pointer题目分析:本题思路1:第一步,你需要遍历一下链表,对于每个结点,你都new出一个连接在其后面。第二步,调整random指针。第三步,把复制的链表与原链表断开。时间复杂度O(N),空间复杂度O(1)。本题思路2:第一步,仍需要遍历一下...
分类:其他好文   时间:2015-03-27 23:36:53    阅读次数:380
找出数组中两个只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。还是理解不够深刻。 这题的主要思路还是之前的数组中只出现一次的数字的那种模式,一次遍历加上异或运算。那么这个异或的值肯定是这两个只出现一次的数字的相异或的...
分类:编程语言   时间:2015-03-21 22:42:34    阅读次数:221
算法:数组中只出现了一次的数字
题目一个整型数组里除了两个数字之外,其他的数字都是出现了两次。请写出程序找出这两个只出现了一次的数字。要求时间复杂度是O(n), 空间复杂度是O(1)。题解tip1:如果该数组A中只有一个数字出现了一次,其他的数字都出现了两次,那么求出该数字就很简单,其值就是 A[0] ^ A[1] ^ … ^ A[n-1] 因此就需要想办法,将问题转换为tip1里的问题场景。 tip2:将题目中的数组的每个数...
分类:编程语言   时间:2015-03-21 01:14:30    阅读次数:225
腾讯算法逻辑题
前几天小生去了一趟腾讯,接受前端大大的虐待。整个过程充斥着各种血与泪,特别是他们的算法逻辑题,让我甚是上心。遂mark下,以求甚解...经过一番思考以及和小伙伴们的共同探索,总算代码的运行结果是符合题目要求了,不过也不确定是否是最佳答案...(尤其是第三题,涉及到时间复杂度和空间复杂度...)且不管...
分类:编程语言   时间:2015-03-20 12:28:55    阅读次数:192
找出数组中两个只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。还是理解不够深刻。 这题的主要思路还是之前的数组中只出现一次的数字的那种模式,一次遍历加上异或运算。那么这个异或的值肯定是这两个只出现一次的数字的相异或的值。那么这个值的二进制表现形式中的1的结果就表示这两个数字在该bit位上不一样。那么通过此举,我们可...
分类:编程语言   时间:2015-03-20 00:03:13    阅读次数:269
knn-伪代码与实现过程
knn特点优点:精度高,对异常值不明感,无数据输入嘉定缺点:计算复杂度高,空间复杂度高适用范围:数值型和标称型knn算法的伪代码1、计算已知类别数据集中的点与当前之间的距离2、按照距离递增次序排序3、选取与当前点距离最6,小的k个点4、确定前k个点所在的类别的出现频率5、返回前k个点出现频率最高的类...
分类:其他好文   时间:2015-03-18 23:12:36    阅读次数:801
求无序数组的中位数
中位数即是排过序后的处于数组最中间的元素。 不考虑数组长度为偶数的情况。设集合元素个数为n。简单的想了下:思路1) 把无序数组排好序,取出中间的元素 时间复杂度 采用普通的比较排序法O(N*logN) 如果采用非比较的计数排序等方法, 时间复杂度 O(N), 空间复杂度也是O(N).思路2) 2.1...
分类:编程语言   时间:2015-03-17 21:34:15    阅读次数:185
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!