小编Sal*_*ali的帖子

使用迭代方法求复杂度T(n)= 4T(n/2)+(n ^ 2)*logn

我只需要使用迭代方法找到这种递归的复杂性:

T(n) = 4T(n/2) + (n^2)*logn
Run Code Online (Sandbox Code Playgroud)

我知道你可以使用master方法解决这个(n^2)(logn)^2问题,而且复杂性是,但我尝试使用迭代方法解决它,我得到了别的东西:

T(n) = 4 * T(n/2) + (n^2) * log(n)
T(n/2) = 4 * T (n/4) + ((n/2)^2) * log(n/2)
T(n/4) = 4 * T(n/8) + ((n/4)^2) * log(n/4)

T(n) = 4 * (4 *  (4 * T(n/8) + (n/4)^2 * log(n/4)) + (n/2)^2 * log(n/2)) + (n^2) * log(n)

T(n) = 64T(n/8) + 16((n/4)^2) * log(n/4) + 4((n/2)^2) * log(n/2) + (n^2)log(n)

T(n) = (4^i) * T(n/(2^i)) + 4^(i-1) * (n/(2^(i-1)))^2 …
Run Code Online (Sandbox Code Playgroud)

algorithm math big-o recurrence

3
推荐指数
1
解决办法
2735
查看次数

在"算法简介"中,"严密代码"是什么意思?

我正在阅读"算法导论",作者多次提到"严密的代码"."紧"是否仅意味着与另一个算法相比,实现一种算法的代码较少?

在书中,作者说插入排序和快速排序都有"严密的代码",这使得算法更快.例如,尽管快速排序的时间复杂度相同,但快速排序通常比排序更快.

当然,我不认为"紧密代码"意味着在没有正确格式化,额外空格,空行的情况下编写代码.

algorithm performance

3
推荐指数
1
解决办法
564
查看次数

log(n^c) 是否等于 O(log(n))

请问log(n^c)=O(log(n))这样c为常数?

我认为这是真的 log(n^c)/log(n)<=C2

所以c<=C2。这是真的?如果不是什么是真的?

algorithm math big-o

3
推荐指数
1
解决办法
193
查看次数

递归关系

为什么递归因子算法的递归关系呢?

T(n)=1 for n=0
T(n)=1+T(n-1) for n>0
Run Code Online (Sandbox Code Playgroud)

为什么不是这个?

T(n)=1 for n=0
T(n)=n*T(n-1) for n>0
Run Code Online (Sandbox Code Playgroud)

将n即1,2,3,4 ......的值置于第二个递归关系(正确计算因子)不是第一个.

algorithm recurrence

2
推荐指数
4
解决办法
1万
查看次数

项目欧拉45

我还不是一个熟练的程序员,但我认为这是一个有趣的问题,我想我会试一试.

三角形,五边形和六边形数字由以下公式生成:

  • 三角形T_(n)= n(n + 1)/ 2 1,3,6,10,15 ......
  • 五角形P_(n)= n(3n-1)/ 2 1,5,12,22,35 ......
  • 六角形H_(n)= n(2n-1)1,6,15,28,45,......

可以证实T_(285)= P_(165)= H_(143)= 40755.

找到下一个三角形和六边形的三角形数字.

是任务描述.

我知道六角形数字是三角形数字的子集,这意味着您只需要找到一个Hn = Pn的数字.但我似乎无法让我的代码工作.我只知道java语言,这就是为什么我在网络上找不到解决方案的原因.无论如何希望有人可以帮忙.这是我的代码

public class NextNumber {

    public NextNumber() {
    next();
    }

    public void next() {


int n = 144;
int i = 165;
int p = i * (3 * i - 1) / 2;
int h = n * (2 * n - 1);
        while(p!=h) {
            n++;
           h = n * (2 * n - 1); …
Run Code Online (Sandbox Code Playgroud)

java algorithm

2
推荐指数
1
解决办法
2320
查看次数

mongodb从数组中拉出所有元素

假设我有以下架构:

"_id" : 1,
  "n" : [{
      "a" : ObjectId("4ef0ca414653b7c866040000"),
      "d" : new Date("Thu, 22 Dec 2011 04:53:56 GMT +04:00")
    }, {
      "a" : ObjectId("4ef0ca414653b9c866040000"),
      "d" : new Date("Thu, 22 Dec 2011 04:54:11 GMT +04:00")
    }, {
      "a" : ObjectId("4ef0ca424653b9c866040000"),
      "d" : new Date("Thu, 22 Dec 2011 04:54:30 GMT +04:00"),
   }]
Run Code Online (Sandbox Code Playgroud)

我需要删除所有n,其中d小于特定日期.

所以我想我可以通过以下方式做到这一点:

db.coll.update({
'_id': 1
},{
 $pullAll : {
  n.d : {
     $lte : new Date(2000, 10, 11)
   }
 }
})
Run Code Online (Sandbox Code Playgroud)

但问题是,它不是这样工作的.有什么建议?

mongodb

2
推荐指数
1
解决办法
3381
查看次数

Python频率分布(FreqDist/NLTK)问题

我试图将一个单词列表(一个标记化的字符串)分成每个可能的子字符串.然后我想在每个子字符串上运行一个FreqDist,以找到最常见的子字符串.第一部分工作正常.但是,当我运行FreqDist时,我收到错误:

TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import nltk

string = ['This','is','a','sample']
substrings = []

count1 = 0
count2 = 0

for word in string:
    while count2 <= len(string):
        if count1 != count2:
            temp = string[count1:count2]
            substrings.append(temp)
        count2 += 1
    count1 +=1
    count2 = count1

print substrings

fd = nltk.FreqDist(substrings)

print fd
Run Code Online (Sandbox Code Playgroud)

输出substrings很好.这里是:

[['This'], ['This', 'is'], ['This', 'is', 'a'], ['This', 'is', 'a', 'sample'], ['is'], ['is', 'a'], ['is', 'a', 'sample'], ['a'], ['a', 'sample'], ['sample']]
Run Code Online (Sandbox Code Playgroud)

但是,我只是不能让FreqDist在它上面运行.任何见解将不胜感激.在这种情况下,每个子字符串只有一个FreqDist,但是这个程序应该在更大的文本样本上运行.

python nltk frequency-distribution

2
推荐指数
1
解决办法
3117
查看次数

C 中的 Crypto++ 等价物

是否有任何等效的用于加密原语的开源 ANSI-C 库。我知道 C++ 的 Crypto++,但找不到 C 的任何东西

我主要需要 SHA-1、SHA-2、AES、RSA

c cryptography crypto++

2
推荐指数
1
解决办法
1258
查看次数

如何求解这个递推关系:T(n) = 2T(n/2) + 1

我在这种递归关系上遇到了麻烦。

T(n) = 2T(n/2) + 1

谁能帮我解释一下如何解决这个问题以获得答案O(n)

algorithm recurrence

2
推荐指数
1
解决办法
1万
查看次数

如何将csv添加到cassandra db?

我知道它可以用传统方式完成,但是如果我使用Cassandra DB,是否有一种简单/快速和敏捷的方法将csv作为一组键值对添加到数据库中?

能够通过CSV文件添加时间序列数据是我的首要要求.我可以切换到任何其他数据库,如mongodb,rike,如果它在那里很方便可行..

cassandra

2
推荐指数
2
解决办法
1万
查看次数