我有一个家庭作业来编写一个多线程的数独求解器,它找到给定谜题的所有解决方案.我以前写过一个非常快速的单线程回溯数独求解器,所以我不需要任何帮助解决数独问题.
我的问题可能与不真正的并发性有关,但我不知道这个问题如何从多线程中受益.我不明白如何在不保留拼图的多个副本的情况下同时找到同一问题的不同解决方案.鉴于这种假设(请证明它是错误的),我没有看到多线程解决方案如何比单线程更有效.
我很感激,如果有人能给我一些算法的开始建议(请,没有代码......)
我忘了提到,要使用的线程数被指定为程序的参数,所以据我所知,它与任何方式的拼图状态无关......
此外,可能没有一个独特的解决方案 - 有效的输入可能是一个完全空的板.我必须报告min(1000, number of solutions)并显示其中一个(如果存在)
我今天在slashdot上阅读了这个故事,他们宣布了微软新的并行编程语言.
这种新的编程语言是关于什么的?它说并行编程.但它是否会成为MPI,PVM,OpenMP和类似并行库/框架的替代/替代品?
有什么想法吗?
有没有办法比使用for循环更快地总结一个数字列表,可能在Python库中?或者只是多线程/矢量处理才能有效地完成?
编辑:只是为了澄清,它可以是任何数字的列表,未分类,只是来自用户的输入.
我正在浏览一些旧书,并找到了Peter Hagger的"Practical Java".在性能部分,建议将对象引用设置为null不再需要时.
在Java中,设置对象引用是为了null提高性能还是垃圾回收效率?如果是这样,在什么情况下这是一个问题?容器类?对象组成?匿名内部课程?
我经常在代码中看到这个.这是现在过时的编程建议还是仍然有用?
我得到这些奇怪的错误,但我不理解它们.以下是错误:
错误:可能无法初始化变量大小的对象(#1)
错误:静态分配的Objective-C类实例'笑话'(#1)
错误:静态分配的Objective-C类实例'笑话'(#1)
错误:无法转换为指针类型(#2)
(注意:错误后面的数字将指示错误在我的实现文件中的位置)
这是我的.m文件:
#import "Joke.h"
@implementation Joke
@synthesize joke;
@synthesize rating;
- (id)init {
[super init];
return self;
}
- (void)dealloc {
[joke release];
[super dealloc];
}
+ (id)jokeWithValue:(NSString *)joke {
Joke j = [[Joke alloc] init]; // (# 1) This is where #1 errors occurred
j.joke = joke;
return [j autorelease]; // (# 2) This is where #2 errors occurred
}
@synthesize joke;
@synthesize rating;
@end
Run Code Online (Sandbox Code Playgroud)
谢谢!
我无法使用Lucene.NET 2.0.0.4搜索确切的短语
例如,我正在搜索"范围属性设置变量"(包括引号)但没有收到匹配项,我已经确认100%该短语存在.
任何人都可以建议我哪里出错了?这甚至是Lucene.NET支持的吗?像往常一样,API文档没有太大帮助,我读过的一些CodeProject文章并没有特别涉及到这一点.
使用以下代码创建索引:
Directory dir = Lucene.Net.Store.FSDirectory.GetDirectory("Index", true);
Analyzer analyzer = new Lucene.Net.Analysis.SimpleAnalyzer();
IndexWriter indexWriter = new Lucene.Net.Index.IndexWriter(dir, analyzer,true);
//create a document, add in a single field
Lucene.Net.Documents.Document doc = new Lucene.Net.Documents.Document();
Lucene.Net.Documents.Field fldContent = new Lucene.Net.Documents.Field(
"content", File.ReadAllText(@"Documents\100.txt"),
Lucene.Net.Documents.Field.Store.YES,
Lucene.Net.Documents.Field.Index.TOKENIZED);
doc.Add(fldContent);
//write the document to the index
indexWriter.AddDocument(doc);
Run Code Online (Sandbox Code Playgroud)
然后我使用以下方法搜索短语:
//state the file location of the index
Directory dir = Lucene.Net.Store.FSDirectory.GetDirectory("Index", false);
//create an index searcher that will perform the search
IndexSearcher searcher = new Lucene.Net.Search.IndexSearcher(dir);
QueryParser qp …Run Code Online (Sandbox Code Playgroud) 我有一个多层PSD,一个特定的图层是非光栅化的文本.我试图找出一种方法,从bash/perl/python/whatever-else程序:
我立刻想到了ImageMagick,但我认为我不能通过IM编辑文本层.如果我可以通过其他一些编程方式完成前两个步骤,我总是可以使用ImageMagick执行最后两个步骤.
经过几个小时的谷歌搜索和搜索CPAN和PyPI后,我仍然没有找到任何有希望的东西.有没有人对这个问题有任何建议或想法?
是否有可能编写一个返回所需结果的正则表达式?正则表达式通常是包容性的 - 找到匹配.我希望能够将正则表达式转换为相反的 - 断言没有匹配.这可能吗?如果是这样,怎么样?
http://zijab.blogspot.com/2008/09/finding-opposite-of-regular-expression.html声明你应该用你的正则表达式括起来
/^((?!^ MYREGEX ).)*$/
Run Code Online (Sandbox Code Playgroud)
,但这似乎不起作用.如果我有正则表达式
/[a|b]./
Run Code Online (Sandbox Code Playgroud)
,字符串"abc"返回false,我的正则表达式和zijab建议的converse,
/^((?!^[a|b].).)*$/
Run Code Online (Sandbox Code Playgroud)
.是否可以编写正则表达式的反转,或者我是否正在思考错误?
我没有Mac或iPhone.然而,采用C并使其更具动态性的概念对于smalltalk,python或ruby来说对我来说真的很有吸引力.我想从目标C开始.
客观C只是C的语法超集还是它真的像C一样.它可以用gcc等编译吗?
我在Ruby中编写了大部分的编程.Objective C似乎比C更宽容.你可以用C编写Ruby的原生扩展.你能在Objective C中编写Ruby的原生扩展吗?
如何在拥有Mac/iPhone和拥有XCode之外开始使用Objective C?
我想做类似以下的事情
class A:
def static_method_A():
print "hello"
def main(param=A):
param.static_method_A()
Run Code Online (Sandbox Code Playgroud)
我希望这相当于A.static_method().这可能吗?
python ×3
algorithm ×2
java ×2
objective-c ×2
.net ×1
axum ×1
cocoa-touch ×1
for-loop ×1
frameworks ×1
image ×1
iphone ×1
lucene ×1
lucene.net ×1
parameters ×1
performance ×1
perl ×1
photoshop ×1
psd ×1
regex ×1
ruby ×1
search ×1
static ×1
sudoku ×1