码迷,mamicode.com
首页 >  
搜索关键字:时间复杂度    ( 8884个结果
[leetcode]Sort List @ Python
原题地址:http://oj.leetcode.com/problems/sort-list/题意:链表的排序。要求:时间复杂度O(nlogn),空间复杂度O(1)。解题思路:由于题目对时间复杂度和空间复杂度要求比较高,所以查看了各种解法,最好的解法就是归并排序,由于链表在归并操作时并不需要像数组的...
分类:编程语言   时间:2014-04-30 15:09:41    阅读次数:428
[leetcode]4Sum @ Python
原题地址:http://oj.leetcode.com/problems/4sum/题意:从数组中找到4个数,使它们的和为target。要求去重,可能有多组解,需要都找出来。解题思路:一开始想要像3Sum那样去解题,时间复杂度为O(N^3),可无论怎么写都是Time Limited Exceeded...
分类:编程语言   时间:2014-04-30 13:28:46    阅读次数:445
快速排序
对于包含N个数的输入数组来说,快速排序是一种最坏情况时间复杂度为O(n2)的排序算法。虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因为它的平均性能非常好:它的期望时间复杂度是O(nlgn),而且O(nlgn)中的隐藏因子非常小。另外,它还能够进行原址重排,甚至在虚存环境中...
分类:其他好文   时间:2014-04-29 21:54:47    阅读次数:508
BNU 2418 Ultra-QuickSort (线段树求逆序对)
题目链接:http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=2418解题报告:就是给你n个数,然后让你求这个数列的逆序对是多少?题目中n的范围是n < 500000,所以,暴力是不行的。还是第一次学会用线段树求逆序数,这种方法的时间复杂度是n * lo...
分类:其他好文   时间:2014-04-29 21:38:23    阅读次数:463
Reorder List
两种思路,一种递归的解决T(n) = T(n-2) + O(n);另外一种思路,将后一半的链表原地反转,然后再逐个遍历拼接到前一半的链表上。这种做法能够在O(n)的时间复杂度内完成。
分类:其他好文   时间:2014-04-29 16:06:41    阅读次数:395
《Cracking the Coding Interview》——第18章:难题——题目3
2014-04-29 01:02题目:从m个整数里随机选出n个整数,要求等概率。解法:和洗牌的算法类似,每次随机抽出一个数,抽n次即可。时间复杂度O(m * n),空间复杂度O(m)。代码: 1 // 18.3 pick m integers randomly from an array of n ...
分类:其他好文   时间:2014-04-29 14:42:32    阅读次数:345
《Cracking the Coding Interview》——第18章:难题——题目2
2014-04-29 00:59题目:设计一个洗牌算法,效率尽量快点,必须等概率。解法:每次随机抽一张牌出来,最后都抽完了,也就洗好了。时间复杂度O(n^2),请看代码。代码: 1 // 18.2 shuffle a deck of 52 cards, it must be perfect rand...
分类:其他好文   时间:2014-04-29 14:38:25    阅读次数:473
《Cracking the Coding Interview》——第18章:难题——题目6
2014-04-29 02:27题目:找出10亿个数中最小的100万个数,假设内存可以装得下。解法1:内存可以装得下?可以用快速选择算法得到无序的结果。时间复杂度总体是O(n)级别,但是常系数不小。代码: 1 // 18.6 Find the smallest one million number....
分类:其他好文   时间:2014-04-29 14:27:13    阅读次数:665
《Cracking the Coding Interview》——第18章:难题——题目12
2014-04-29 04:36题目:最大子数组和的二位扩展:最大子矩阵和。解法:一个维度上进行枚举,复杂度O(n^2);另一个维度执行最大子数组和算法,复杂度O(n)。总体时间复杂度为O(n^3),还需要O(n)额外空间。代码: 1 // 18.12 Given an n x n matrix, ...
分类:其他好文   时间:2014-04-29 14:24:06    阅读次数:404
《Cracking the Coding Interview》——第18章:难题——题目13
2014-04-29 04:40题目:给定一个字母组成的矩阵,和一个包含一堆单词的词典。请从矩阵中找出一个最大的子矩阵,使得从左到右每一行,从上到下每一列组成的单词都包含在词典中。解法:O(n^3)级别的时间和空间进行动态规划。这道题目和第17章的最后一题很像,由于这题的时间复杂度实在是高,我动手写...
分类:其他好文   时间:2014-04-29 14:21:00    阅读次数:498
8884条   上一页 1 ... 886 887 888 889 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!