一、图的存储 用邻接表法存储图,存储结构分为两部分,一部分为存储图的所有顶点的数组,另一部分为挂载在数组的每个元素后面的用来表示顶点的邻接点的链表。 1、存储顶点的结构单元为: 链表的结构单元为: 2、现在声明Graph这个类,类的声明为(有关图的遍历的成员函数也以包含进来): 3、下面是Graph ...
分类:
编程语言 时间:
2017-03-06 20:36:39
阅读次数:
484
对下图进行遍历,分别采用深度优先和广度优先 1.深度优先遍历的主要思想:首先从一个未被访问的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点; 当没有未访问过的顶点时,则回到上一个顶点,继续试探访问别的顶点,直到所有顶点都被访问。 显然,深度优先遍历是沿着图的某一条分支遍历直到末端,然后回溯,再沿 ...
分类:
其他好文 时间:
2017-02-24 12:09:36
阅读次数:
176
数据结构与算法 第四次实验报告 姓名:许恺 学号:2014011329 班级:计算机14-1 中国石油大学(北京)计算机科学与技术系 1、图的定义,文件为"Graph.h" #ifndef GRAPH_H//定义头文件 #define GRAPH_H #include<string>//引入标准库中 ...
分类:
编程语言 时间:
2017-02-21 21:53:52
阅读次数:
487
Find the sum of all left leaves in a given binary tree. Example: 也可用bfs 网上大神的dfs:深度优先遍历,将所有结点从根结点开始遍历一遍,设立isLeft的值,当当前结点是叶子节点并且也是左边,那就result加上它的值 ...
分类:
其他好文 时间:
2017-02-18 17:09:04
阅读次数:
184
周总结:算法学习总结之DFS和BFS 一:DFS算法 目的:达到被搜索结构的叶节点。 定义:假定给定图G的初态是所有的定点都没有访问过,在G中任选一定点V为初始出发点,首先访问出发点并标记,然后依次从V出发搜索V的每个相邻点W,若W未曾出现过,则对W进行深度优先遍历(DFS),知道所有和V有路径相通 ...
分类:
编程语言 时间:
2017-02-16 23:49:13
阅读次数:
264
一、深度遍历和广度遍历原理及实现 1、深度优先 英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。对于上面的例子来说深度优先遍历的结果就是:A,B,D,E,I,C,F,G,H.(假设先走子节点的的左侧)。 深 ...
分类:
编程语言 时间:
2017-02-15 11:54:54
阅读次数:
190
#include using namespace std; /* 5 5 1 2 1 3 1 5 2 4 3 5 1 2 4 3 5 -------------------------------- Process exited with return value 0 Press any key t... ...
分类:
其他好文 时间:
2017-02-11 12:43:49
阅读次数:
149
#include using namespace std; /* 5 8 1 2 2 1 5 10 2 3 3 2 5 7 3 1 4 3 4 4 4 5 5 5 3 3 min: 9 -------------------------------- Process exited with retu... ...
分类:
其他好文 时间:
2017-02-11 12:31:22
阅读次数:
160
一、二叉树深度优先遍历 只介绍先序遍历: (1) 第一种方法是使用stack的结构 (2) 主要要理解后面的分治法 二、分治法 三个例子: 归并排序 快速排序 大多数的二叉树问题 归并排序和快速排队都是典型的分治法。 归并排序:强调先局部有序,再归并为整体有序. 最差时间复杂度和平均复杂度都是log ...
分类:
其他好文 时间:
2017-02-06 21:59:30
阅读次数:
255
这是一个有向边带权的图顶点数组:[v0, v1, v2, v3, v4]边数组: v0 v1 v2 v3 v4 v0 6 v1 9 3 v2 2 5 v3 1 v4 package com.datastruct; import ja... ...
分类:
编程语言 时间:
2016-12-21 20:27:13
阅读次数:
229