自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 用STL实现DFS/BFS算法——使用boost.Multi_Index容器

用STL实现DFS/BFS算法——使用boost.Multi_Index容器花了几天时间熟悉了一下boost的Multi_Index容器,觉得确实是个很不错的东西。现在准备用它来替换DFS/BFS算法中的list容器以及查重所用的set或hash_set容器。在前面的DFS/BFS版本中,我们使用了list容器来保存在搜索过程中生成的所有状态结点,并使用set或hash_set,还有v

2006-06-09 00:31:00 5185 1

原创 源代码BFS_DFS_v1.6.hpp

这次又有一点小的修改,主要是关于StateSpaceTreeSearch的第二个模板参数的。它是用于指定选用BFS还是DFS,原来我是让使用者选择BFSInserter和DFSInserter两者之一。后来想想,好象不应该让用户看到这两个结点插入策略,毕竟用户并不关心这一点。用户关心的仅是如何在BFS和DFS两者之间选择一个,所以我把选择的方法改为用一个bool常量来指定。把原来的Search

2006-06-07 15:50:00 2456

原创 用STL实现DFS/BFS算法——基于策略的类设计

用STL实现DFS/BFS算法——基于策略的类设计在引入boost.Multi_index容器之前,我想有必要先整理一下DFS/BFS的代码。修改是出于以下几方面原因,其中之一是:近期拜读了Andrei Alexandrescu的《Modern C++ Design》,深受启发,书中的第一章讲述了基于策略的类设计,因此我也想参照这种设计方法来重写一次代码。另外的一个原因是:原来的代码中使用

2006-06-05 00:59:00 2592

原创 源程序BFS_DFS_v1.hpp

在引入boost.Multi_index容器,我想有必要先整理一下DFS/BFS的代码。主要的修改是,不再使用queue容器和stack容器,而用list容器来替换它们。原因是,queue和stack容器会把已搜索过的结点删除掉,而我们如果要在容器内进行查重的话,就必须保留所有结点,所以不能使用这两种容器。一开始我也想过使用vector容器,不过由于我们最终的目标是Multi_index容器,

2006-06-03 16:33:00 1982

原创 推箱子源程序v1.1

回头看了看推箱子的源代码,里面有不少嵌套的for循环用于查找满足某个条件的位置,或者是对其进行处理。过多的嵌套for循环似乎与STL的精神相悖,于是想是否可以用迭代器和STL算法来替换这些嵌套的循环。办法是:增加一个迭代器类SSiterator,保存某个SokoState对象中map_成员的位置,并提供operator++(前缀及后缀)、operator--前缀及后缀)、operator*、o

2006-06-01 18:41:00 2729 2

POSA_Volume_3_Patterns_for_Resource_Management

Pattern_Oriented_Software_Architecture_Volume_3__Patterns_for_Resource_Management

2011-08-07

POSA_Volume_2_Patterns_for_Concurrent_and_Networked_Objects

Pattern-Oriented Software Architecture 第二卷

2011-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除