小编x10*_*x10的帖子

访问Python dict的时间复杂度

我正在编写一个简单的Python程序.

我的程序似乎受到字典线性访问的影响,即使算法是二次的,它的运行时间也呈指数级增长.
我使用字典来记忆值.这似乎是一个瓶颈.

我正在散列的值是点的元组.每个点是:(x,y),0 <= x,y <= 50
字典中的每个键是:2-5点的元组:((x1,y1),(x2,y2),(x3, Y3),(X4,Y4))

密钥的读取次数比写入次数多很多次.

我是否认为python dicts受到这些输入的线性访问时间的影响?

据我所知,集合保证了对数访问时间.
如何在Python中使用集合(或类似的东西)模拟dicts?

编辑根据请求,这是memoization函数的(简化)版本:

def memoize(fun):
    memoized = {}
    def memo(*args):
        key = args
        if not key in memoized:
            memoized[key] = fun(*args)
        return memoized[key]
    return memo
Run Code Online (Sandbox Code Playgroud)

python hash complexity-theory dictionary

31
推荐指数
4
解决办法
7万
查看次数

在X根窗口上绘图

我希望能够在Linux的根窗口上绘图.即制作OSD.

我正在使用Gnome.

代码示例或链接到他们将不胜感激.

linux x11

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

如何使Xcode持续集成服务执行浅git克隆?

我刚安装了带有Xcode CI的新OS X Server(http://www.apple.com/osx/server/features/#xcode-server).

我已成功为我的项目设置CI,但主git repo的子模块非常大(它包含版本控制的图像,而不是代码).

出于性能和空间相关的原因,我希望CI在获取子模块时使用浅克隆而不是完整克隆.有没有办法配置CI来做到这一点?

或者有没有其他方法可以加快这个过程?

git xcode osx-mavericks

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

镀铬扩展与云存储

我正在制作一个小型Chrome扩展程序,并希望将其数据保持在线状态.
我需要一个免费的,非常小的(每个用户<1MB)云托管提供商,它具有无痛的身份验证.
理想情况下,我只是喜欢使用localStorage的Google API,但是在云端,每个用户名都不同.

google-chrome cloud-hosting local-storage

6
推荐指数
2
解决办法
4728
查看次数

如何判断viewpager何时完成加载

ViewPager在我的应用程序中使用了一个.

ViewPager正在加载大量数据,它正在谈论一段时间,直到它显示任何内容.我的问题是:如何判断ViewPager已完成加载(即将在屏幕上显示其内容),以便我可以删除加载进度条?

谢谢!

android loading android-viewpager progress-bar

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

帆布专业绘图效果

最近我一直在学习HTML5的东西,特别是画布.
我查看了许多用Flash编写的在线绘图应用程序(例如http : //www.sumopaint.com,http://www.onemotion.com/flash/sketch-paint/),它们看起来都包含了很棒的绘图效果.流畅的线条,模拟铅笔/画笔等.

我想知道的是 - 有没有办法在画布上获得这样的效果,以及如何?
我愿意花1个月的(空闲时间)编码工作来完成它,但我不确定它是否可行.

html5 drawing canvas

5
推荐指数
1
解决办法
1200
查看次数

.NET和Jenkins的Selenium性能 - 如何分析和改进它?

我有一个ASP.NET网站,我想用Selenium测试.我想在"临时"虚拟机上设置Jenkins实例,以自动运行测试.

问题是测试运行速度非常慢 - 比我的开发机器慢几倍.单个简单的测试可能需要2-3分钟.

我想知道这是否是预期的,如果像我这样的测试设置有任何明显的缺陷,并且我可以做什么来分析和改进测试套件的性能.

信息:

测试在配备Windows 7 64位的2.7GHz 2GB Ram虚拟机上运行.我的开发机器类似,但安装了32位Win.

以下是Jenkins完成的:

  • 该网站从源代码管理中签出,并使用自定义web.config进行配置.主要区别在于它在发布模式下编译,并且它连接到不同计算机(也是同一服务器上的虚拟机)上的数据库.
  • IIS正在监视网站的目录并自动重新加载更改.
  • 运行以下命令(目录已清理):nunit-console Selenium-Project-Dir/labels
  • 测试在Chrome webdriver上运行.

selenium项目使用NUnit和WebRunner.驱动程序实例在所有测试之前创建一次,在[SetUpFixture]类中的[SetUp]属性中创建.它们在类的[TearDown]属性中被删除一次.

示例测试如下所示:

[Test, Combinatorial]
public void AnExistingUserCanLogin(
    [ValueSource(typeof(Drivers), "Good")] 
    IWebDriver driver)
{
    // This function clicks on some buttons and fills in some forms.
    LoginUser(driver); 

    // Make sure the user is now logged in
    Assert.IsTrue(driver.ElementIsPresent(By.ClassName("imgUserAvatar")));
    Assert.IsTrue(driver.ElementIsPresent(By.CssSelector("a.my-profile")));
    Assert.IsTrue(driver.ElementIsPresent(By.CssSelector("a.logout")));
}
Run Code Online (Sandbox Code Playgroud)

("Drivers"类包含FF,IE,Chrome的lazily-instances webdriver实例.你可以猜出类实例的"好"静态属性)

.net asp.net selenium nunit jenkins

5
推荐指数
1
解决办法
832
查看次数

带有Google网络字体的pdfkit

我正在尝试使用具有自定义Google Web字体的网页使用PDFKit创建pdf 。

我似乎无法使自定义字体正常工作。
我使用Rails的默认PDFKit中间件,如图所示这里

有人可以告诉我一个.html文件和(最好是ruby)代码,该代码使用PDFKit或只是wkhtmltopdf将其转换为pdf。转换后的pdf应该有漂亮的字体:)

ruby ruby-on-rails pdfkit wkhtmltopdf google-webfonts

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

没有javascript的html重新加载

我正在写一个爱好项目,我想知道我是否可以实现以下功能:

如果浏览器禁用了JS,则页面每X秒重新加载一次.
如果浏览器启用了JS,页面会从某处收到一些JS事件并重新加载.但页并不会重新加载每X秒.

我正在尝试在应用程序中实现服务器推送并且它可以工作,但我也希望有一些至少半合理的回退机制.

有什么建议?

用这句话来表达的另一种方式是:

我可以禁用它(以跨平台的方式):

<META HTTP-EQUIV="refresh" CONTENT="15">

页面加载后?

html javascript

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