分析:经典的八数码问题,参考别人的代码写的,逆向广搜,把结果保存起来,之后在使用。
#include
#include
using namespace std;
#define STATE_COUNT 363000 //因为9!=362880
int fact[]={1,1,2,6,24,120,720,5040,40320,362880}; //0到9的阶乘,用来计算hash值
cha...
分类:
其他好文 时间:
2015-04-27 21:54:28
阅读次数:
175
深度优先和广度优先遍历在树和图中应用最为普遍,思想也类似,因此放到一起来总结。二叉树的深度优先广度优先遍历:一棵二叉树(2,(2(3,4),3(4,5))),这是一棵满二叉树,一共有7个节点,根节点2,深度为3数据结构定义如下:class Node: def __init__(self, value...
分类:
其他好文 时间:
2015-04-27 21:18:28
阅读次数:
129
图的遍历:
定义:从图中的某一顶点出发,沿着边访问访问图中其余顶点,且使每个顶点仅被访问一次。
通常有两种遍历次序方案:
?深度优先遍历(dfs)---类似于前序遍历
?广度优先遍历(bfs)---类似于层序遍历
?深度优先遍历(dfs)
算法思想描述:
访问起始顶点v
当 v 还有邻接顶点未被访问时:(起始条件)
?深度遍历未访问的邻接顶点...
分类:
其他好文 时间:
2015-04-26 09:33:06
阅读次数:
162
通过GIF图“生动”介绍深度优先搜索与广度优先搜索...
分类:
其他好文 时间:
2015-04-21 01:52:17
阅读次数:
181
main.h:
#include
#include
#define DefaultSize 10
#define maxWeight -1
using namespace std;
template
struct Edge
{
int dest;
E cost;
Edge *link;
Edge(int d=0,int c=0):dest(d),cost(c),link(NUL...
分类:
编程语言 时间:
2015-04-20 15:04:14
阅读次数:
213
宽度优先搜索,又称为广度优先搜索,简称BFS搜索过程:从初始结点开始,逐层向下扩展,即第n层搜索未完成,不得进入下一层搜索一、初始结点入队,进入循环二、取出队列的第一个元素三、判断该结点是不是目标结点,如果是目标结点,则问题解决,跳出循环四、如果该结点不是目标结点,判断其是否能够扩展,若不能,跳到步...
分类:
其他好文 时间:
2015-04-19 22:41:05
阅读次数:
143
这题主要涉及到了队列,无向图的邻接矩阵表示,图的深度和广度优先搜索。又是糙哥,参考了他的程序(http://www.cnblogs.com/liangchao/p/4288807.html),主要是BFS那块,课件上的不太明白。有一点不太明白,图的初始化那块,利用传指向图的指针而不是通过函数返回值为...
分类:
其他好文 时间:
2015-04-19 17:44:10
阅读次数:
184
http://www.tuicool.com/articles/F7Bzeq深度优先与广度优先遍历栈操作关键码序列与堆稀疏矩阵压缩的存储方法5.已知二叉树的后序,中序排列,求先序排列再线索化的问题:http://m.blog.csdn.net/blog/z421745963/24294465先序排列...
分类:
其他好文 时间:
2015-04-18 01:07:19
阅读次数:
148
描述广度优先搜索算法(Breadth First Search)与树的层序遍历(level-order traversal)类似,基本思想是思想是:
从图中某顶点v出发,访问v之后,并将其访问标志置为已被访问,即visited[i]=1;
依次访问v的各个未曾访问过的邻接点;
分别从这些邻接点出发依次访问它们的邻接点,并使得“先被访问的顶点的邻接点先于后被访问的顶点的邻接点被访问,直至图中所有已被访...
分类:
其他好文 时间:
2015-04-17 22:22:50
阅读次数:
157
Binary Tree Zigzag Level Order TraversalTotal Accepted:31183Total Submissions:117840My SubmissionsQuestionSolutionGiven a binary tree, return thezigza...
分类:
其他好文 时间:
2015-04-17 21:53:46
阅读次数:
123