STL视频介绍,第6部分和第7部分

null

第六部分 第七部分 我的视频讲座系列介绍了标准模板库现在可用;它们包括算法和函子。

以前的部分:

第1部分 (序列容器)

第2部分 (关联容器)

第三部分 (智能指针)

第四部分 ( 涂壁 解算器简介)

第五部分 (努里卡贝)

我的Nurikabe解算器,可用 在这里 ,演示了如何使用前面提到的STL组件。  我一直在优化它;有更多的工作要做,但我已经取得了戏剧性的加速:

拼图

时间(v1.1)

时间(v1.7)

加速

维基百科

87.1毫秒

5.9毫秒

14.8倍

维基百科

36.1毫秒

3.2毫秒

11.4倍

尼科利1

18.5毫秒

1.6毫秒

11.9倍

尼科利2

13.2毫秒

1.9毫秒

7.1倍

尼科利3

16.8毫秒

2.2毫秒

7.8倍

尼科利4

108.1毫秒

5.9毫秒

18.3倍

尼科利5

89.7毫秒

7.3毫秒

12.3倍

尼科利6

87.5毫秒

5.7毫秒

15.3倍

尼科利7

2123.97秒

496.0毫秒

4282.3倍

尼科利8

2784.7毫秒

316.7毫秒

8.8倍

尼科利9

13518.2秒

32.8秒

412.4倍

尼科利10

11811.8秒

8.5秒

1397.5倍

以下是更改日志:

1.0(8/24/2010)–第一版,出现在第9频道的STL视频介绍第4部分。

1.1(2010年9月1日)-增加了1个来自维基百科的谜题和10个来自Nikoli的谜题。改进了微秒/毫秒/秒的时间格式。现在记录初始施工和分析的每个步骤所用的时间。

1.2(2010年9月1日)–通过以确定性但伪随机顺序猜测单元格,大规模加速假设矛盾分析。

1.3(2010年9月8日)–将Grid::solve()重新组织为更小的成员函数。谢谢,更正2!

1.4(2010年9月24日)–通过对白细胞附近的猜测进行优先排序,进一步加速了假设性矛盾分析。谢谢,迈克尔B。!

1.5(2010年10月19日)–通过使Grid::constrated()使用vector>而不是set>提高了性能。通过将Grid::detectu confights()推迟到Grid::analyzeu confights()之前,进一步提高了性能。

1.6(2010年10月20日)–删除了Grid::analyzeu insulatedu unknownu regions(),在顶级分析和假设矛盾分析中,它只成功了一次(在wikipediau hard上)。删除了Grid::operator=()的定义,并完全删除了Grid::swap(),因为它们未使用。避免在网格的私有复制ctor中复制mïu输出,因为在假设的矛盾分析期间不需要它。即使在将来,解算器被扩展以捕获输出

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享