我不知道这是否是询问算法的地方.但是,让我们看看我是否得到任何答案...... :)
如果有什么不清楚我很乐意澄清事情.
我刚刚在python中实现了一个Trie.然而,有一点似乎比它应该更复杂(作为一个喜欢简单的人).也许有人遇到过类似的问题?
我的目标是通过在其根中存储子trie的最大公共前缀来最小化节点数.例如,如果我们有stackoverflow,stackbase和stackbased这两个词,那么树看起来像这样:
[s]tack
[o]verflow ______/ \_______ [b]ase
\___ [d]
Run Code Online (Sandbox Code Playgroud)
注意,人们仍然可以想到边缘具有一个字符(子节点的第一个).
查找 -query很容易实现. 插入并不难,但比我想要的更复杂.. :(
我的想法是一个接一个地插入密钥(从一个空的trie开始),首先搜索要插入的密钥k(Find(k)),然后在本地重新排列/拆分节点查找程序停止.结果是4种情况:(设k是我们要插入的键,k'是节点的关键,搜索结束)
似乎每个案例都是独特的,因此意味着对Trie的不同修改.但是:真的那么复杂吗?我错过了什么吗?有更好的方法吗?
谢谢 :)
我有一个简单的Ruby on Rails表单,其中包含authenticity_token.不幸的是,我错过了当您页面缓存此页面时,真实性令牌变为无效.我很高兴我弄清楚了.
在这种情况下你如何解决缓存?
在OS X应用程序(如Mail和Firefox)中,您可以右键单击文本字段并更改要进行拼写检查的语言.我无法弄清楚如何在Textmate中做同样的事情.可以轻松完成,如果,如何?
(抱歉新手问题.)在Ruby中,循环之间有什么区别:
@cars.each do |car|
Run Code Online (Sandbox Code Playgroud)
和
for car in @cars do
Run Code Online (Sandbox Code Playgroud)
?
效率是否存在差异,或者为什么我们需要两种(或更多)方式来表达同样的事情?第二种方式对我来说似乎更优雅/自然,但我可能会错过一些重要的观察,为什么第一种可能是更好的选择.
在最近的一个问题中,我被介绍到AndréMichelle的工作中,这让我感到震惊.你在艺术和音乐领域还有哪些伟大的人物或作品?作为一个热爱数学/编程和艺术/音乐的人,我希望更多地了解使用复杂(或不那么复杂)技术来制作创意的人.使用的软件可以是Max/MSP,Flash,简单C代码或汇编程序.论坛,博客,新闻通讯和类似的指针也非常受欢迎.
我正在使用Python 2.5.这里发生了什么?我误解了什么?我该如何解决?
in.txt:
Stäckövérfløw
Run Code Online (Sandbox Code Playgroud)
code.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print """Content-Type: text/plain; charset="UTF-8"\n"""
f = open('in.txt','r')
for line in f:
print line
for i in line:
print i,
f.close()
Run Code Online (Sandbox Code Playgroud)
输出:
Stäckövérfløw
S t ? ? c k ? ? v ? ? r f l ? ? w
Run Code Online (Sandbox Code Playgroud) 假设我们有用户A和B访问包含按钮的同一URL.当A单击按钮时,我希望B的网站上的某些内容在B上面时立即更改,例如要添加的文本.我希望这会发生延迟小于150毫秒.
这是现实的吗?你能给我一些关于我应该搜索的提示,或者说明这个的玩具例子吗?谢谢.