2012年5月20日

POJ 1077 eight

摘要: 双广,16MS,相当快。 1 # include <stdio.h> 2 # include <string.h> 3 4 # define MAXN (362880 + 5) 5 6 typedef struct 7 { 8 char a[9]; 9 }state; 10 11 typedef struct 12 { 13 int k; 14 char d; 15 }path; 16 17 path p[MAXN]; 18 const char md[4] = {'u','l','r','d'}; 19 阅读全文

posted @ 2012-05-20 21:33 getgoing 阅读(424) 评论(0) 推荐(0) 编辑

八数码(双向广搜)

摘要: 早上看了提到双向广搜的一篇文章,其中讲了双向广搜可以节约一半的时间和一半的空间(理论上),我画了一幅图:(上面的对应普通BFS,下面的对应双向广搜)可以看出简单BFS的搜索节点大约是双向广搜的二倍。对于八数码问题,由于逆序剪枝可以将所有无解的状态全部剪掉,剩余的都是有解的状态,所以使用双向广搜速度可能会更快;对下面两组数据(分别输入)1 2 3 4 5 6 7 8 08 7 6 5 4 3 2 1 02 6 4 1 3 7 0 5 88 1 5 7 3 6 4 0 2正确输出对应是 30、 31使用BFS的运行时间:0.390s 0.359s使用双广的运行时间:0.109s 0.046s双广我 阅读全文

posted @ 2012-05-20 18:16 getgoing 阅读(4984) 评论(0) 推荐(1) 编辑

导航