码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
算法 - 内部排序方法总结
各种排序方法的性能比较 排序方法 最好时间复杂度 平均时间复杂度 最坏时间复杂度 空间复杂度 稳定性 直接插入排序 O(n) O(n2) O(n2) O(1) 稳定 简单选择排序 O(n2) O(n2) O(n2) O(1) 不稳定 冒泡排序 O(n) O(n2) O(n2) O(1) 稳定 希尔排序 - ...
分类:编程语言   时间:2014-11-29 20:15:57    阅读次数:218
程序员编程技术学习笔记——左旋转字符串
给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。...
分类:其他好文   时间:2014-11-27 14:40:58    阅读次数:256
LeetCode[Linked List]: Linked List Cycle
Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using extra space? 这个题目如果没有空间复杂度O(1)的限制,我可以想到的方法就是:遍历整个list,将每个节点的地址存入一个vector,如果发现某个节点的next的地址已经在vec...
分类:其他好文   时间:2014-11-26 19:02:15    阅读次数:119
Codeforces Team Olympiad(暴力)
本题要求把1,2,3尽可能的平均分配到3个容器中,保证每一个都包含1、2、3,求这样的最大组合数以及输出一种可能的组合。可以暴力枚举!时间复杂度O(n),空间复杂度也为O(n)。...
分类:其他好文   时间:2014-11-26 01:29:20    阅读次数:234
数组排序算法
//冒泡算法 时间复杂度:O(n2) 空间复杂度:O(1) for(int i=0;iarr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; ...
分类:编程语言   时间:2014-11-25 22:59:11    阅读次数:203
(每日算法)LeetCode--Set Matrix Zeroes (矩阵置零)
给定一个矩阵,如果有零元素那么就将零元素所在的行和列都置为零。 Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. 最直观的解法就是开辟一个新的矩阵,当原矩阵存在零元素的时候,就将新矩阵的对应行和列置为零。这样空间复杂度较高,也是题目不允许的。 题目的难...
分类:编程语言   时间:2014-11-24 20:53:43    阅读次数:314
关于0-1矩阵置1的问题
问题描述:一个矩阵,里面的元素只为1或者0,要求把元素为1的元素的同行和同列的所有元素都置为1,要求:算法空间复杂度为O(1). 1 void _setRowAndCol(int arrays[], int row, int col) 2 { 3 assert(arrays != NULL ...
分类:其他好文   时间:2014-11-23 18:48:23    阅读次数:243
异或链表(XOR linked list)
异或链表(Xor Linked List)也是一种链式存储结构,它可以降低空间复杂度达到和双向链表一样目的,任何一个节点可以方便的访问它的前驱节点和后继结点。可以参阅wiki 普通的双向链表 class Node { public: int data; Node *prev; Node *next;...
分类:其他好文   时间:2014-11-19 20:24:07    阅读次数:511
杭州电子科技大学Online Judge 之 “确定比赛名次(ID1285)”解题报告
算法分析: 本题是拓扑排序的典型应用。 由于顶点数量不多,可以采用邻接矩阵来存储图信息,这样算法比较简单,只需要搜索n次,每次把序号最小的入度为0的顶点存储到拓扑序列中就行了。算法思路比较清晰,代码也比较简洁,但时间复杂度和空间复杂度都较高。 另一种方法是采用邻接表存储图信息。由于题目要求输出时编号小的队伍在前,所以在入栈时一定要保证先让序号最小的入度为0的顶点在栈顶,这样根据后进先出的特点,可以把序号最小的顶点存储到拓扑序列中。我采用折半插入排序的方法,把入度为0的顶点按递减序排序,然后对图进行深度优先...
分类:其他好文   时间:2014-11-19 16:05:59    阅读次数:174
找出数组中两个只出现一次的数字 【微软面试100题 第六十一题】
题目要求: 一个整型数组里除了两个数字机之外,其他的数字都出现了两次。 请写程序找出这两个只出现一次的数字。要求时间复杂度O(N).空间复杂度O(1). 参考资料:剑指offer第40题。题目分析: 已知: 1.两个相同的数字异或的结果为0,即a^a = 0. 2.两个不相同的数...
分类:编程语言   时间:2014-11-17 11:55:16    阅读次数:207
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!