到目前为止,我只使用过Rational Quantify.我听说过有关英特尔VTune的好消息,但从未尝试过!
编辑:我主要是在寻找可以检测代码的软件,因为我猜这是获得非常好结果的唯一方法.
为了实验,我(很久以前)实施了康威的生命游戏(我知道这个相关的问题!).
我的实现通过保留2个布尔数组来表示"最后状态"和"正在更新状态"(每次迭代时交换2个数组).虽然速度相当快,但我常常想知道如何优化它.
例如,一个想法是在迭代N处预先计算可以在迭代(N + 1)处修改的区域(因此,如果一个单元不属于这样的区域,则甚至不会考虑在迭代(N + 1)).我知道这很模糊,我从来没有花时间详细介绍......
你对如何优化(速度)Game of Life迭代有任何想法(或经验!)吗?
language-agnostic algorithm performance conways-game-of-life
虽然我已经看到需要私有继承的罕见情况,但我从未遇到过需要保护继承的情况.有人有例子吗?
我已经习惯了Vi(m)编辑器并且正在使用MS Visual Studio 2005.我找不到一个免费的Vi加载项(2003版本只有一个加载项).我搜索了一下,看到今年有一个"谷歌夏季代码"项目来编写这样的插件,我急切地等待结果.我也听说过ViEmu(不是免费的,我不能在工作中测试它).
在我的情况下是否有人找到了解决方案(和/或测试过的ViEmu)?
编辑:我无法在工作中测试ViEmu,因为他们对我们在我们的盒子上安装的内容感到偏执:它必须通过所需的频道,并且30天我不认为它是值得的(我没有Windows框在家).
编辑:由于两个答案都是等价的,我最终接受了第一个答案.
正在介绍编程的人的课程经常包括一个代码项目,我认为这是一种很好的学习方式.然而,这些项目往往过于人为,因此不值得回报.
您对奖励代码项目的想法是什么?(最好是易于开始,并且可以随意扩展以获得更高级!).
编辑:
@Mark:感谢这个链接,虽然我对那些对编程完全不熟悉的人更感兴趣(链接似乎更多地指那些已经精通至少一种语言的人,并试图学习一种新的 - 我会说的典型SO观众:) - ).
@Kevin,Vaibhav,gary:我在考虑通过一种语言学习编程的人,所以在课程开始时,有些人对控制结构一无所知(甚至更不用说任何语法).但是,我正在考虑一个相当大的项目(通常在1k-10k行代码范围内,可能是2或3名学生的组).这就是我的学校为完整的初学者所做的事情,它确实似乎对他们有用......除了他们中的大多数人发现他们的项目非常无聊!
100(或一些偶数2N :-))囚犯在A房间.他们从1到100编号.
一个接一个地(从囚犯#1到囚犯#100,按顺序),他们将进入B室,其中100个箱子(编号从1到100)等待他们.在(关闭)框内是从1到100的数字(框内的数字是随机置换的!).
一旦进入B室,每个囚犯都会打开50个盒子(他选择打开哪个盒子).如果他找到这50个箱子中的一个分配给他的号码,囚犯就会走进C室,所有箱子再次关闭,然后下一个人从A房走进B室.否则,所有囚犯(在房间A,B和C)被杀死.
在进入B室之前,囚犯可以就策略(算法)达成一致.没有办法在房间之间进行通信(B房间也没有留言!).
是否有算法可以最大化所有囚犯生存的概率?该算法实现了什么概率?
笔记:
随机做事(你称之为'无策略')确实给每个囚犯提供了1/2的概率,但随后所有囚犯幸存的概率是1/2 ^ 100(这是非常低的).一个人可以做得更好!
囚犯不允许重新订购盒子!
所有囚犯在囚犯第一次找不到他的号码时被杀.而没有通信是可能的.
提示:平均可以拯救超过30名囚犯,这远远超过(50/100)*(50/99)*[...]*1
algorithm ×3
c++ ×3
performance ×2
casting ×1
dynamic-cast ×1
editor ×1
geography ×1
ide ×1
inheritance ×1
math ×1
oop ×1
profiling ×1
puzzle ×1
rtti ×1
trigonometry ×1
vim ×1