First we try, then we trust

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2005年2月4日

摘要: 从这部分开始,将介绍具体的代码设计。本部分主要说名HRD.Core命名空间下一些对象的定义。具体内容可以参考《华容道与数据结构 (5) 》。 阅读全文
posted @ 2005-02-04 16:49 吕震宇 阅读(849) 评论(2) 推荐(0) 编辑

摘要: 完整的程序代码可以从http://www2.cnblogs.com/Files/zhenyulu/HRD.rar下载 九、 代码设计 在看完了解题过程后,下面来看一看具体的代码设计方案: 我们首先从Core开始,在Core.dll里面定义了系统所需的最基本的数据类型以及相关的接口。其中枚举ChessmanType与MoveMethod分别定义了棋子的类型以及棋子移动的方法。 public enu... 阅读全文
posted @ 2005-02-04 16:23 吕震宇 阅读(3707) 评论(2) 推荐(0) 编辑

摘要: 在本部分内容中,我们将通过一个简化的例子演示TreeLinkedList、CircularLinkedList、AVLTree以及Stack几种数据结构是如何协同工作,完成华容道布局搜索过程的。详细内容,请访问我的文章《华容道与数据结构 (4)》。 阅读全文
posted @ 2005-02-04 11:27 吕震宇 阅读(938) 评论(0) 推荐(0) 编辑

摘要: 八、 程序解题过程在这部分内容中,我们通过一个简化的实际例子来看看在华容道求解过程中,循环链表、AVL树以及树之间是如何相互协作的。首先我们假设所有的棋子只能向下移动(这样可以大大减少树中的节点数量),我们来看系统如何搜索所有可行步骤:首先,系统初始化各个部件。 环形链表中维护了三个指针:current指明当前运算到了哪个布局;last指针指向当前搜索层级的最后一个布局;allocate指针... 阅读全文
posted @ 2005-02-04 11:24 吕震宇 阅读(3920) 评论(3) 推荐(1) 编辑