码迷,mamicode.com
首页 >  
搜索关键字:复杂度    ( 16171个结果
Leetcode: Set Matrix Zeroes
一次过,空间复杂度为O(m+n), 下一次做的时候寻找constant space solution。用boolean array也可以,用bit vector可能会更节省 1 import java.util.*; 2 3 public class Solution { 4 public...
分类:其他好文   时间:2014-05-23 08:30:28    阅读次数:278
替换空格--《剑指offer》
如题所示,题目很简单,替换空格,将字符串中的空格替换为%20; 即"we are happy”替换成“we%20are%20happy”; 如果每当我们遇到一个空格就将字符串向后平移两位,这样复杂度就是O(n2)了,这样的方法是不可取的,按照作者的来说,offer已不足拿到了; 而当我们反向从字符串末尾开始遍历,复杂度仅为O(n),当然前提的是该字符串有足够空间,否则替换会失败。 了解到思想之后程序也就比较简单了,发现自己的与作者的写的也比较类似,就此贴上了......
分类:其他好文   时间:2014-05-22 12:25:54    阅读次数:201
筛法求素数
素数表在算法中经常会用到,所以掌握一种高效求解素数表的算法是很有必要的。 这里介绍一种算法:筛法。筛法的时间复杂度我不太清楚,但我知道是接近于 O(n) 的,比一般的求解素数的算法效率要高很多,其基本思想如下: 1、要得到 2 — n 之间的所有素数,先记录下 2 — n 之间的所有整数,用集合表示 A = { 2 , 3 , 4 , 5 , 6 …… n } 2、创建一张素数表 P...
分类:其他好文   时间:2014-05-22 12:21:52    阅读次数:201
C/C++笔试忍法帖05——数据结构篇
1.写出下列算法的时间复杂度。 (1)冒泡排序;  (2)选择排序;  (3)插入排序;  (4)快速排序;  (5)堆排序;  (6)归并排序;...
分类:编程语言   时间:2014-05-22 11:46:43    阅读次数:321
排序算法之希尔排序
一、算法思想描述       1、设置一定的步长       2、将整个序列根绝步长分成若干个子序列。对每个子序列执行直接插入排序       3、重复步骤2,直到步长为1(包含1)二、算法分析       希尔排序,也叫缩小增量排序,是插入排序的一种,他对插入排序进行了一定的优化。        时间复杂度:一般认为,在某些序列中可以达到O(n^1.3)       空间复杂度:O(1)    ...
分类:其他好文   时间:2014-05-22 08:49:36    阅读次数:213
“举一反三”合并数组--《剑指offer》
与上篇思想一样,或者说是替换数字的另一种版本吧,题目如下: 有两个已经排好的数组A1和A2,A1的末尾有足够的空间来容纳A2,我们将A2数组插入到A1中,继续保持已经排序; 这样看来就和替换空格相似了,如果我们在A1数组从头到尾复制数字,这样导致A1数组后面的数一直不断往后移动,复杂度一样是O(n2),所以,我们来举一反三:...
分类:其他好文   时间:2014-05-22 06:14:10    阅读次数:241
欧几里得算法的时间复杂度
欧几里得算法, 又称辗转相除法, 用于求两个自然数的最大公约数.算法的思想很简单, 基于下面的数论等式gcd(a, b) = gcd(b, a mod b)其中gcd(a, b)表示a和b的最大公约数,mod是模运算, 即求a除以b的余数.算法如下:输入: 两个整数a, b输出: a和b的最大公约数...
分类:其他好文   时间:2014-05-22 05:42:34    阅读次数:232
面向对象编程6大设计原则:单一职责原则
单一职责原则(SingleResponsibilityPrinciple)简称SRP原则。定义应该有且仅有一个原因引起类的变更。优点可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;提高类的可读性,提高系统的可维护性;变更引起的风险降低,变更是必然的,如果单一职..
分类:其他好文   时间:2014-05-20 18:48:03    阅读次数:298
Python机器学习实战<三>:k-邻近算法
k邻近算法采用测量不同特征值之间的距离方法进行分类。优点:精度高、对异常值不敏感、没有数据输入假定;缺点:计算复杂度高、空间复杂度高(占内存);使用数据范围:数值型和标称型。 k-邻近算法的工作原理是:存在一个训练样本集,并且每个数据都存在标签,即我们知道每个数据都对应的哪个分类。输入一个没有标签的新数据,将新数据的每个特征和样本集中的所有数据进行笔记哦啊,提取出样本集中特征最相似(邻近)的分类...
分类:编程语言   时间:2014-05-20 16:54:05    阅读次数:534
异或最大
今天可爱的Mayuyu会带领大家来学习一个东西,那就是异或最大,Mayuyu的问题描述如下。   题目:给定一个数组a[],再给出m个询问,每个询问一个数x,在数组a[]中找出一个数y,使得x与y的异或值最大。   分析:最直观的思路就是对于每一个询问,直接暴力在数组a[]中比较,找最大的,但是这样做的时间复杂度会很大。      我们有一个很好的解法,那就是字典树,假设所有的数字范围均...
分类:其他好文   时间:2014-05-20 16:02:01    阅读次数:253
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!