一、需求分析1、以邻接多重表为存储结构;2、实现连通和非连通的无向图的深度优先和广度优先遍历;3、要求利用栈实现无向图的深度优先遍历;4、以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和生成树的边集;5、用凹入表打印生成树;6、求出从一个结点到另外一个结点,但不经过另外一个指定结点的所有简单路径;6、本程序用C++语言编写,在TURBO C++ 3.0环境下通过。内含实验报告 ...展开收缩
/* * 基于邻接边表实现图结构 */ package dsa; public class Graph_List implements Graph { //变量 protected List E;//容器:存放图中所有边 protected List V;//容器:存放图中所有顶点 //构造方法 public Graph_List() { E = new List_DLNode(); V = new List_DLNode(); } //取图的边表、顶点表 protected List get
/* * 基于邻接边表实现图的顶点结构 */ package dsa; public class Vertex_List implements Vertex { //变量 protected Object info;//当前顶点中存放的数据元素 protected Position vPosInV;//当前顶点在所属的图的顶点表V中的位置 protected List outEdges;//关联边表:存放以当前顶点为尾的所有边(的位置) protected List inEdges;//关联边
/* * 基于邻接边表实现图的边结构 */ package dsa; public class Edge_List implements Edge { //变量 protected Object info;//当前边中存放的数据元素 protected Position ePosInE;//当前边在所属的图的边表中的位置 protected Position vPosInV[];//当前边两个端点在顶点表中的位置 protected Position ePosInI[];//当前边在其两个端点
/* * 基于邻接边表实现图结构 */ package dsa; public class Graph_List implements Graph { //变量 protected List E;//容器:存放图中所有边 protected List V;//容器:存放图中所有顶点 //构造方法 public Graph_List() { E = new List_DLNode(); V = new List_DLNode(); } //取图的边表、顶点表 protected List get
本文实例讲述了C语言实现图的搜索算法。分享给大家供大家参考,具体如下:
在游戏中,常常遇到路径规划问题,用到图的相关算法,我们以简单图来学习。
图通常有两种表示方式,矩阵和邻接表。矩阵表示简单,运算快,但当矩阵是稀疏矩阵的时候就存在空间浪费的问题,并且效率也会下降,而邻接表节约空间,并且由于边是连续访问,时间效率也比较高。在本文中,我们将以邻接表来表示图。
#include
#include
using namespace std;
struct SE{
int vIndex;
int