码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
二进制和位运算中的异或
1、给出一个问题:给你一个整形数组,这个数组中除了一个数字只出现一次外,其他数字都只出现两次,求出那个只出现一次的数字? 要求:时间复杂度为O(n) , 空间复杂度为O(1)。 这个题目的难点在于空间复杂度的限制。 解法:一个数出现两个,两个数相同,而相等两个数异或的值为0 , 所以,我们只需要把整个数组的数都异或一遍,我们就能得到只出现了一次的那个数字 int g...
分类:其他好文   时间:2014-07-23 13:13:26    阅读次数:204
[leetcode]Insertion Sort List
Insertion Sort ListSort a linked list using insertion sort.算法思路:最基本的插入排序,时间复杂度O(n*n),空间复杂度O(1)代码: 1 public class Solution { 2 public ListNode inse...
分类:其他好文   时间:2014-07-22 00:23:34    阅读次数:204
待字闺中之数组统计分析
题目来源,待字闺中,原创@陈利人 ,欢迎大家继续关注微信公众账号“待字闺中” 给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计哪些数字没有出现,哪些数字出现了多少次。能够在O(n)的时间复杂度,O(1)的空间复杂度要求下完成么? 这个题目,是有一定技巧的。技巧是需要慢慢积累,待经验多了之后,可以灵感或者直觉,就产生了技巧。如...
分类:其他好文   时间:2014-07-21 15:18:05    阅读次数:229
【程序员编程艺术】学习记录1:左旋转字符串之指针翻转法
【程序员编程艺术】学习记录1:左旋转字符串之指针翻转法 题目:左旋转字符串 定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(n) 思路一、暴力移位法 //暴力移位法 void leftshiftone(char *s, ...
分类:其他好文   时间:2014-07-17 11:06:47    阅读次数:216
算法整理(二)---高速排序的两种实现方式:双边扫描和单边扫描
首先简单谈下高速排序的特点,时间复杂度O(nLog n),最差时间复杂度O(n^2),平均时间O(nLog n).由于用到了函数栈,空间复杂度为O(lg n),最差为O(n).是一种不稳定的排序方法。基本思想是分治法,这位大大的http://blog.csdn.net/morewindows/art...
分类:其他好文   时间:2014-07-16 19:29:46    阅读次数:210
TOP N问题的若干实现
问题描述:在长度为n的序列中,找出其最大的N个数1.冒泡排序每冒泡一次,可将最大的数放到序列尾部,冒泡N次即可。时间复杂度:O(N*n)空间复杂度:O(1)2.扫描数组,将最大的N个数存在缓存中,当有更大的数到来时替换缓存中的数TOP_N(A,N) n = length of A cre...
分类:其他好文   时间:2014-07-16 18:18:57    阅读次数:211
编程算法 - 圆圈中最后剩下的数字(递推公式) 代码(C++)
圆圈中最后剩下的数字(递推公式) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendy题目: 0,1...,n-1这n个数字排成一个圆圈, 从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里最后剩下的数字.可以推导出约瑟夫环的递推公式, 使用循环进行求解,  时间复杂度O(n), 空间复杂度O(1).代码:/* * main.cpp * *...
分类:编程语言   时间:2014-07-16 17:25:12    阅读次数:206
优化的直接插入排序(二分查找插入排序,希尔排序)
本博文向大家介绍了插入排序的三种实现:直接插入排序,二分查找插入排序,希尔排序。详细分析的其实现过程、时间复杂度和空间复杂度、稳定性以及优化改进策略。最后简单的做了下性能测试。
分类:其他好文   时间:2014-07-15 09:59:26    阅读次数:261
选择排序
该算法时间复杂度为O(n^2),空间复杂度为O(1) ;//选择排序(前部为有序序列,后部为无序序列)#includeint main() { int a[] = {49,38,65,49,76,13,27,52} ; int i , j , k ; for(i = 0 ; i ...
分类:其他好文   时间:2014-07-15 00:00:46    阅读次数:204
冒泡排序
该算法时间复杂度与输入的顺序有关,如果输入的是一组有序的数据,时间复杂度为O(n),如果是一组无序的数据,时间复杂度为O(n^2);空间复杂度为O(1);//冒泡排序#includeint main() { int a[] = {49,38,65,49,76,13,27,52}; //...
分类:其他好文   时间:2014-07-14 22:44:16    阅读次数:159
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!