1.图的表示a.邻接矩阵:适合稠密图(|E|接近|V|2)//用二维数组表示邻接矩阵int G[|V|][|V|];//初始化for(int i=0;i Adj;//所有顶点};//初始化void AddEdge(Graph &G,int i,int j,int weight,int w[][|V|...
分类:
其他好文 时间:
2015-04-05 20:08:54
阅读次数:
173
图的遍历分为BFS宽度优先遍历和DFS深度优先遍历两种,前者以队列为载体,后者以递归为载体。邻接表模板:BFS 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int maxn = 1000...
分类:
其他好文 时间:
2015-04-04 18:13:18
阅读次数:
152
问题描述: 有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定target分钱,求有多少种组合可以组合成target分钱?(2012创新工场)解答:(基于深度优先的递归)#include #include using namespace std;void dfs(int index, in....
分类:
其他好文 时间:
2015-04-04 16:37:03
阅读次数:
116
使用python实现的树遍历,包括宽度优先和深度优先ef dfs(): tree = { 'A': ['B', 'C'], 'B': ['D', 'E'], 'C': ['F', 'G'], 'D': ['H', 'I'], ...
分类:
编程语言 时间:
2015-04-04 10:33:16
阅读次数:
140
Java实现二叉树及相关遍历方式
在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。
二叉树常被用于实现二叉查找树和二叉堆。
以下用Java实现对二叉树的先序遍历,中序遍历,后序遍历,广度优先遍历,深度优先遍历。
转摘请注明:http://blog.csdn.net/qiuzhping/article/details/44830369...
分类:
编程语言 时间:
2015-04-02 13:29:04
阅读次数:
210
深度优先遍历在图的遍历中,其中深度优先遍历和广度优先遍历是最常见,也最简单的两种遍历方法。深度优先遍历的思想就是一直向下找,找到尽头之后再去其他分支查找。在上一篇博客中我已经写了广度优先遍历(BFS)。
想看的传送门:图的广度优先遍历代码实现这里实现和BFS的差别在于,在BFS中,我们使用的容器是队列(queue),是先进先出的, 而在DFS中我们需要使用的是栈(stack)一个先进后出的容器。其...
分类:
编程语言 时间:
2015-04-01 17:48:45
阅读次数:
196
回溯法 是 一种 在 穷举 中,裁剪 不满足 条件 的 分支,已达到 提高 效率的 方法。其基本原型 是 树的 先序遍历,从 树根 到 树叶的路径 是 问题的 一个 解。
回溯法的基本框架 = 确定 解空间 + 深度优先遍历 + 裁剪函数 + 确定结果函数
其中 解空间,分为 子集树 和 排序树。
具体 概念 详解:参考 点击打开链接 和 点击打开链接
递归算法通用 模板如下:
...
分类:
其他好文 时间:
2015-04-01 15:32:10
阅读次数:
269
广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.
BFS的思想:
从一个图的某一个顶点V0出发,首先访问和V0相邻的且未被访问过的顶点V1、V2、……Vn,然后依次访问与V1、V2……Vn相邻且未被访问的顶点。如此继续,找到所要找的顶点或者遍历完整个图。我们采用...
分类:
其他好文 时间:
2015-04-01 15:27:10
阅读次数:
211
广度优先遍历广度优先遍历是非常常见和普遍的一种图的遍历方法了,除了BFS还有DFS也就是深度优先遍历方法,我在我下一篇博客里面会写。遍历过程相信每个看这篇博客的人,都能看懂邻接链表存储图。
不懂的人,请先学下图的存储方法。在我的之前博客里。
传送门:图表示方法然后我们假设有一个图如下:
节点1->3->NULL
节点2->NULL
节点3->2->4->NULL
节点4->...
分类:
编程语言 时间:
2015-04-01 07:07:28
阅读次数:
173
#include
#include
#include
#define VERTEX_NUM 8
typedef enum {FALSE = 0, TRUE = 1}BOOL;
typedef struct ArcNode {
int adjvex;
struct ArcNode *nextarc; // struct不能少
}ArcNode;
BOOL visi...
分类:
其他好文 时间:
2015-03-30 09:26:01
阅读次数:
201