问题列表 - 第35662页

Haskell中的整数时间复杂度

我上周在学校做了一项任务,实现了计算斐波纳契数列中第n个数的函数."子指派"是使用累积(可能不是正确的翻译)来实现它,以便给出函数O(n)时间复杂度.这一切都很好,直到我尝试制作函数(Int - > Integer).通过实验,我意识到时间复杂度对于非常大的数字接近于O(n ^ 2).在我看来,这必须是因为Integer的实现,这使我对它的工作方式有点好奇.我做了一些谷歌搜索,没有找到任何看似有用的东西,所以我转向你们,希望得到一个解释或一个解释彻底的链接.

我的代码:

ackfib 0 = 0
ackfib 1 = 1        
ackfib n = loop n 1 0 1
    where
        loop n n1 n2 i 
            | i < n     = loop n (n1+n2) n1 (i+1)
            | i == n    = n1
            | i > n     = error "n must be greater than or equal to 0"
Run Code Online (Sandbox Code Playgroud)

我很感谢所有答案

haskell integer time-complexity

5
推荐指数
2
解决办法
636
查看次数

冒险选择非标准的Java代码缩进样式?

如果选择非标准缩进样式会有所不同吗?

这是我经常看到的风格:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Test {
    static public void main(String args[]) throws Exception {
        FileInputStream fin = new FileInputStream("infile.txt");
        FileOutputStream fout = new FileOutputStream("outfile.txt");

        FileChannel inc = fin.getChannel();
        FileChannel outc = fout.getChannel();

        ByteBuffer bb = ByteBuffer.allocateDirect(1024);

        while (true) {
            int ret = inc.read(bb);
            if (ret == -1)
                break;

            bb.flip();
            outc.write(bb);
            bb.clear();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我更喜欢这种风格,一切都从下一行开始:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Test
{
    static public void main(String args[]) …
Run Code Online (Sandbox Code Playgroud)

java coding-style indentation

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

OpenGL:除了我指定的之外,关闭所有照明?

我是 OpenGL/JOGL 的新手。我正在试验照明:

    gl.glEnable(GL2.GL_LIGHT1);
    gl.glEnable(GL2.GL_LIGHTING);
Run Code Online (Sandbox Code Playgroud)

当我禁用第一行时,场景中的所有对象都会变得有些暗,但它们仍然有一些光。那光还能从哪里来?(这是我唯一的光源。)是否有一些我可以关闭的默认环境光?

java opengl graphics

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

MySQL从表中删除所有索引

我有一个运行一段时间的MySQL数据库,它有很多变化.最近我查看它,我注意到在某些情况下,我在相同的字段上加倍了索引.缺少一些索引,并且通常所有索引都存在大量混乱.

我想从表中删除所有索引.后来我有一个准备好的脚本,它将运行ALTER TABLE并添加相关索引.

有没有办法从表中删除所有索引?

mysql indexing alter-table

13
推荐指数
3
解决办法
3万
查看次数

使用OR条件的Django查询

在Django中,如何查询获取两个不同的值,如下所示?

profile_setting = (pSetting.objects.get(module="my_mod", setting_value=1) or
                   pSetting.objects.get(module="my_mod", setting_value=0))
Run Code Online (Sandbox Code Playgroud)

django django-queryset

9
推荐指数
1
解决办法
8222
查看次数

会话价值会被黑客攻击吗?

当我在没有退出的情况下从网站出来时,下次我浏览该网站时发现我在那里登录了?该服务器如何恢复浏览器的会话值?在这个过程中有没有机会被黑客入侵?其他人可以窃取恢复的会话值吗?请分享您对此的看法.提前致谢

session

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

使用多列作为mysql的唯一标识符

我有一个包含以下列的mysql表:

group_id
game_id
user_id
message
last_update
Run Code Online (Sandbox Code Playgroud)

我希望让这个可以不存在两排,其中GROUP_ID为行x的值等于GROUP_ID为行Y和USER_ID为行x的值的值也等于USER_ID为y行的值.

因此,例如,假设我插入以下值:

group_id = 783
game_id = 34
user_id = 29237
message = none
last_update = 11233452
Run Code Online (Sandbox Code Playgroud)

以上数据,即使MySQL查询试图插入它,不应该如果行已经与GROUP_ID和USER_ID相同的组合存在创建一个新的行.有没有办法做到这一点?基本上,我试图让两个列一起工作,就像一个独特的索引.

mysql

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

为什么在shell脚本上使用make?

在我看来,简单的shell脚本更容易处理命令行参数.

为什么运行make而不是./make.sh是标准的

shell makefile compilation

102
推荐指数
5
解决办法
3万
查看次数

在Azure中将文本附加到Blob

在看了关于blobs的这个教程:第9频道之后,我正在考虑使用blob容器来保存一堆推文(存储每条推文的json).理想情况下,我想为一天中的每个小时创建一个blob引用,并在它们进入时向这个blob添加新的推文.问题是,方法UploadText(字符串)会覆盖blob的现有内容,是否容易将文本追加到现有blob的方法?

谢谢!

        fun (json:string) ->  
                    let account = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString"))
                    let blobs = account.CreateCloudBlobClient();
                    let tempBlob = blobs.GetBlobReference("tweets/2010-9-26/17/201092617.txt")
                    tempBlob.Properties.ContentType <- "text/plain"
                    tempBlob.UploadText(json)
Run Code Online (Sandbox Code Playgroud)

windows azure blobs azure-storage

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

如何使用事务(开始事务,提交事务)?

我在某些情况下看到了交易使用情况,但从未真正理解应该在哪些情况下使用它们.应该如何以及何时使用交易(开始交易声明)?我已经读过微软不建议在触发器和存储过程中使用事务语句(commit,rollback).

sql-server stored-procedures transactions sql-server-2005 sql-server-2008

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