小编Cla*_*ash的帖子

为什么散列表的大小127(素数)优于128?

假设简单的统一散列,即任何给定值同样地散列到散列的任何槽中.为什么使用大小为127而不是128的表更好?我真的不明白2号码的力量有什么问题.或者它实际上如何产生任何差异.

使用除法时,我们通常会避免使用某些m值(表大小).例如,m不应该是2的幂,因为如果m = 2 ^ p,则h(k)只是k的p个最低位.

假设可能的元素只在1和10000之间,我选择表格大小为128. 127如何才能更好?所以128是2 ^ 6(1000000),127是0111111.这有什么区别?所有数字(当经过哈希处理时)仍然是127的p的最低位数.我弄错了吗?

我正在寻找一些例子,因为我真的不明白为什么这么糟糕.非常感谢提前!

PS:我知道: 哈希表:为什么大小应该是素数?

algorithm hash primes

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

将PostgreSQL扩展安装到所有模式

我正在使用PostgresQL 9.1.1尝试在所有模式上使用扩展unaccent.

所以我运行了命令CREATE EXTENSION unaccent;.哪个有效,但仅适用于当前设置的架构search_path.所以这意味着如果我改变search_path,我就不能再打电话了unaccent.如何使此扩展可用于特定数据库中的所有模式?

提前致谢!

postgresql

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

循环线性搜索的不变量

如算法简介(http://mitpress.mit.edu/algorithms)所示,练习陈述如下:

输入:数组A [1 ... n]

输出:i,其中A [i] = v或未找到时为NIL

为LINEAR-SEARCH写一个伪代码,它扫描序列,寻找v.使用循环不变量,证明你的算法是正确的.(确保你的循环不变量满足三个必要的属性 - 初始化,维护,终止.)

我没有创建算法的问题,但我没有得到的是我如何决定我的循环不变量.我认为我理解了循环不变量的概念,即在循环开始之前,在每次迭代的结束/开始时始终为真的条件,并且当循环结束时仍然为真.这通常是目标,例如,在插入排序时,迭代j,从j = 2开始,[1,j-1]元素始终排序.这对我来说很有意义.但对于线性搜索?我想不出任何东西,想到循环不变只是听起来太简单了.我明白了什么问题吗?我只能想到一些明显的东西(它是NIL或介于0和n之间).非常感谢提前!

algorithm invariants loop-invariant

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

与Django一起提供favicon.ico.为什么settings.MEDIA_URL与django.views.generic.simple.redirect_to仅适用于开发环境?

我找到了这个用django服务favicon.ico的解决方案.

(r'^favicon\.ico$',
  'django.views.generic.simple.redirect_to',
  {'url': settings.MEDIA_URL+'images/favicon.ico'}),
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它只适用于开发服务器.转到/favicon.ico适用于dev,不适用于debug=False.它应该重定向到/media/images/favicon.ico(由apache提供),如果你直接访问它,它会工作.

有任何想法吗?

django favicon django-staticfiles

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

什么是TensorFlow检查点元文件?

保存检查点时,TensorFlow经常保存元文件:my_model.ckpt.meta.在该文件中,即使我们删除它也可以恢复模型,如果我们在没有元文件的情况下恢复模型,我们会失去什么样的信息?

tensorflow

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

django ManyToManyField和on_delete

ForeignKeydjango上的s具有属性on_delete,用于指定删除引用对象时的行为.有没有办法为ManyToManyField获得类似的东西?

假设我有以下模型

class House(models.Model):
    owners = models.ManyToManyField(Person)
Run Code Online (Sandbox Code Playgroud)

默认行为是级联,所以如果我删除碰巧拥有房子的人,它就会从所有者身上消失(显然,它不再拥有任何房屋).我想要的是,如果某人是所有者,则无法将其删除.那就是我想要的on_delete=models.PROTECT.这可能吗?

我知道内部ManyToManyField被翻译成另一个模型有两个ForeignKeys(在这种情况下一个到房子和一个到人),所以应该可以实现这一点.任何想法如何?我想避免将through属性设置为新模型,因为这会产生一个新表(我想保留旧表).

编辑:我已经跟踪了django创建适当的m2m模型的位置:

def create_many_to_many_intermediary_model(field, klass):
    from django.db import models
    # ... 
    # Construct and return the new class.
    return type(name, (models.Model,), {
        'Meta': meta,
        '__module__': klass.__module__,
        from_: models.ForeignKey(klass,
                                 related_name='%s+' % name,
                                 db_tablespace=field.db_tablespace),
        to: models.ForeignKey(to_model,
                              related_name='%s+' % name,
                              db_tablespace=field.db_tablespace)
    })
Run Code Online (Sandbox Code Playgroud)

相关的是

to: models.ForeignKey(to_model,
                      related_name='%s+' % name,
                      db_tablespace=field.db_tablespace)
Run Code Online (Sandbox Code Playgroud)

我希望它是

to: models.ForeignKey(to_model,
                      related_name='%s+' % name,
                      db_tablespace=field.db_tablespace,
                      on_delete=models.PROTECT)
Run Code Online (Sandbox Code Playgroud)

除了猴子修补整个事情并为ManyToManyField创建一个新类之外,还有什么办法吗?

django django-models

22
推荐指数
2
解决办法
9663
查看次数

Django Sitemaps和"正常"视图

也许我不明白Sitemaps的目的,或者我不明白如何使用站点地图.现在我的站点地图包括所有"动态"创建的页面,如博客文章.但是如何添加像我的索引和联系页面这样的"静态"页面呢?或者这些观点不应该在站点地图中?我认为-all-页面应该在站点地图上.例如,我将如何包含此类视图

(r'^contact/', include('contact-recaptcha.urls')),
Run Code Online (Sandbox Code Playgroud)

如果没有查询集?

供参考:http://docs.djangoproject.com/en/dev/ref/contrib/sitemaps/

提前致谢!

sitemap django

19
推荐指数
2
解决办法
3872
查看次数

扩展常见get_context_data的通用视图类

我经常看到自己必须在我的许多视图的上下文中添加相同的额外变量.

def get_context_data(self, **kwargs):
    # Call the base implementation first to get a context
    context = super(MyListView, self).get_context_data(**kwargs)
    # Add in the house
    context['house'] = self.get_object().house
    return context
Run Code Online (Sandbox Code Playgroud)

因为我不喜欢重复自己,我想我可以创建一个扩展视图的新类,然后我可以将所有视图基于新的扩展视图类.问题是,我使用了4类视图:CreateView,UpdateView,ListView和DeleteView.我是否真的必须为其中一个创建一个新类?

是不是像django"基础"视图类?也许更聪明的方法呢?提前谢谢了!

django django-generic-views

15
推荐指数
1
解决办法
6302
查看次数

Django和外键的反向关系

假设以下简单模型:

class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

class Entry(models.Model):
    blog = models.ForeignKey(Blog)
    headline = models.CharField(max_length=255)
    body_text = models.TextField()
    author = models.ForeignKey(User, related_name='author_set')
Run Code Online (Sandbox Code Playgroud)

如何让所有参与特定博客的作者(即pk = 1)?我尝试过这样的东西,但它没有用.

User.objects.author_set.filter(blog=Blog.objects.get(pk=1))
Run Code Online (Sandbox Code Playgroud)

提前谢谢了!

django django-models

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

说非确定性图灵机可以在多项式时间内解决NP的后果是什么?

这些天我一直在研究NP问题,计算复杂性和理论.我相信我终于掌握了图灵机的概念,但我有一些疑惑.

我可以接受一个非确定性的图灵机有几个选项,可以为给定的状态和符号读取做什么,它总是会选择最佳选项,如维基百科所述

NTM如何"知道"它应该采取哪些行动?有两种方式可以看待它.一个是说机器是"最幸运的猜测者"; 如果存在这样的转变,它总会选择最终导致接受状态的过渡.另一种是想象机器"分支"成许多副本,每个副本都遵循一个可能的过渡.虽然DTM具有它遵循的单个"计算路径",但NTM具有"计算树".如果树的任何分支以"接受"条件停止,我们说NTM接受输入.

我无法理解的是,既然这是一个虚构的机器,我们从多数时间内解决NP问题得到什么呢?我的意思是,我还可以理解一个解决O(1)中NP问题的神奇机器,如果它可能永远不会存在,我会从中获得什么?

提前致谢.

theory complexity-theory turing-machines

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