要求采用邻接矩阵作为无向图的存储结构,邻接表作为有向图的存储结构,完成无向图和有向图的建立,并对建

作者&投稿:严盆 (若有异议请与网页底部的电邮联系)
图的存储结构可以采用邻接矩阵和邻接表,对于个有n 个顶点,e条边的有向图, (1)计算存储结构分别~

邻接表所需的存储空间为e(边数),但不适合查询两点间是否存在路径
邻接矩阵所需的存储空间为你n^2,适合查询两点间是否存在路径
对于第二问,邻接表所需的存储空间为9900,邻接矩阵所需的存储空间为你n^2=10000,差不多,所以选性能更优的邻接矩阵
实际上像(2)这种稠密图(其实是个满图)一般适合邻接矩阵

有向图的邻接表存储如图所示,其邻接矩阵存储如图:

#include"utility.h"
#include"adj_matrix_undir_graph.h"
#include"adj_list_dir_graph.h"
#include"dfs.h"
#include"bfs.h"

int main(void)
{
int n,j=0,i=0;
int m,e,b=0;
char vexs[20],c;
char nums[20];

cout<<"输入无向图的顶点个数n:"<<endl;
cin>>n;
cout<<"输入顶点元素:"<<endl;
for(i=0;i<n;i++)
{
cout<<"请输入第"<<j<<"个结点"<<endl;
cin>>vexs[i];
j++;
}

cout<<"输出无向图的邻接矩阵:"<<endl;

AdjMatrixUndirGraph<char> aundir(vexs,n);
for(i=0;i<n;i++)
{
for(int v=1;v<n;v++)
{
cout<<"输入Y/N,是否插入边:";
cin>>c;
if(c == 'Y' )
aundir.InsertEdge(i,v);
}
}
Display(aundir);

cout<<"请输入有向图的顶点个数m:";
cin>>m;
for(int a=0;a<m;a++)
{
cout<<"输入第"<<b<<"个顶点数据";
cin>>nums[a];
b++;
}

AdjListDirGraph<char> dir(nums,m);

for(int k=0;k<m;k++)
{
for(e=0;e<m;e++)
{
cout<<"是否插入边V"<<k<<",V"<<e<<":";
cin>>c;
if(c == 'Y' )
dir.InsertEdge(k,e);
}
}
Display(dir);

cout<<"无向图的深度遍历:";
DFSTraverse<char>(aundir,Write<char>);
cout<<endl;
cout<<"无向图的广度遍历:";
BFSTraverse<char>(aundir,Write<char>);

cout<<endl;
cout<<"有向图的深度遍历:";
DFSTraverse<char>(dir,Write<char>);
cout<<endl;
cout<<"有向图的广度遍历:";
BFSTraverse<char>(dir,Write<char>);

#include <iostream>
using namespace std;
struct Stack
{
int data[100];
int top;
};

typedef struct Stack stack;

void Initial(stack &S);
int Pop(stack &s);
void Push(Stack &s,int e);

void main()
{
stack s;
Initial(s);
Push(s,1);
Push(s,2);
Push(s,3);
cout<<Pop(s)<<endl;
cout<<Pop(s)<<endl;
Push(s,4);
cout<<Pop(s)<<endl;
}

void Initial(stack &s)
{
s.top=-1;
}

void Push(stack &s,int e)
{
s.data[++s.top]=e;
}

int Pop(stack &s)
{
return s.data[s.top--];
}


这个我以前做过啊,第三个要求没有做
肯定是学校里面的实习内容。。自己写一下啦,锻炼一下

..............谁会~

一看题目就知道你是我们班的吧……正在搜竟然搜到这个………………


怎么根据邻接矩阵来求可达矩阵?对于ISM有些我不是很懂,能解决我疑问的...
这个你可以画个简单图看看, 写出它的邻接矩阵A, 计算A^2, 体会一下A与A相乘时, 其中的1和1相乘恰好就是 一结点到另一结点再到另一结点的路, 有路就是1, 否则是0.在这不好说清楚, 还需自己揣摩

路由算法的类型有
注意该算法要求图中不存在负权回路。Dijkstra算法执行步骤如下:步骤一:路由器建立一张网络图,并且确定源节点和目的节点,在这个例子里我们设为V1和V2。然后路由器建立一个矩阵,称为“邻接矩阵”。在这个矩阵中,各矩阵元素表示权值。例如,[i,j]是节点Vi与Vj之间的链路权值。如果节点Vi与Vj之间没...

n个顶点e条边的图采用邻接矩阵存储,深度优先遍历算法的时间复杂度为...
采用邻接矩阵 时间复杂度o(n平方),其中N为图中顶点。采用邻接表 时间复杂度 o(n+e)

谁能举一个Pascal中Dijkstra算法求单源最短路径问题的例子并作一些说明...
设图G用邻接矩阵的方式存储在GA中,GA[i,j]=maxint表示Vi,Vj是不关联的,否则为权值(大于0的实数)。设集合S用来保存已求得最短路径的终点序号,初始时S=[Vi]表示只有源点,以后每求出一个终点Vj,就把它加入到集合中并作为新考虑的中间顶点。设数组dist[1..n]用来存储当前求得的最短路径...

路由算法的类型有
步骤一:路由器建立一张网络图,并且确定源节点和目的节点,在这个例子里我们设为V1和V2。然后路由器建立一个矩阵,称为“邻接矩阵”。在这个矩阵中,各矩阵元素表示权值。例如,[i,j]是节点Vi与Vj之间的链路权值。如果节点Vi与Vj之间没有链路直接相连,它们的权值设为“无穷大”。步骤二:路由器为...

1.设有一稠密图G,则G采用( )存储较省空间,设有一稀疏图G,则G采用...
邻接矩阵 邻接表

帮忙写个算法哈!急用!
(1)建立一个图,其存储方式可以采用邻接矩阵形式,需要定义两个数组,一个存储顶点,一个存储边,存储边的数组表明节点间的连通关系和边的权值;(2)利用普里姆算法和克鲁斯卡尔算法求网的最小生成树;(3)按顺序输出生成树中各条边以及它们的权值。【算法描述】:1 普里姆算法:以图中的节点为基础...

求数据结构(用面向对象方法与C++语言描述)第二版 殷人昆主编 课后答案...
(2)邻接矩阵如下: 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0(3)邻接表(4)逆邻接表 2、答案不唯一(2)深度优先遍历该图所得顶点序列为:1,2,3,4,5,6 边的序列为:(1,2)(2,3)(3,4)(4,5)(5,6)(3)广度优先遍历该图所得顶点...

求一个源代码要求显示图的邻接矩阵图的邻接表,深度广度优先遍历最小生...
1.显示图的邻接矩阵,图的邻接表,深度优先遍历,广度优先遍历,最小生成树PRIM算法,最小生成树KRUSCAL算法,图的连通分量。2.当用户选择的功能错误时,系统会输出相应的提示。3.通过图... 1.显示图的邻接矩阵, 图的邻接表, 深度优先遍历, 广度优先遍历, 最小生成树PRIM算法, 最小生成树KRUSCAL算法,图的连通分量...

4 旅游区导游图 (7人)
⑴以(Vi ,Vj ,d)的形式从键盘输入建立该旅游区的旅游景点图,其中:Vi和Vj表示两个不同的旅游景点,d表示这两个景点之间的道路距离;该旅游景点图采用邻接链表存储结构。⑵ 旅游景点图的输出:分别以邻接矩阵、邻接链表的方式输出该旅游景点图。⑶ 相邻景点查询:假设对于每个景点,设置有简易的信息查询,要求能给出与...

都兰县15545057675: 在无向图使用邻接矩阵存储,如图下,那么第3个结点的度为( ) -
柞类葡立:[选项] A. 0 B. 1 0 1 0 0 V1 C. 2 arc= 1 0 1 1 V2 D. 3 0 1 0 0 V3 0 1 0 0 V4

都兰县15545057675: 在无向图使用邻接矩阵存储,如图下,那么第3个结点的度为( ) -
柞类葡立: 第3个结点的度为( 1 ),它只与第2个结点有边相连.

都兰县15545057675: 关于数据结构中图的问题对于一个无向图,假定采用邻接矩阵表示,试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列…题目之中的采用邻接矩... -
柞类葡立:[答案] 没有区别,答案都可能是多个(根据不同程序实现方案的不同),如果已知邻接链表,就应该得到一个唯一的答案.

都兰县15545057675: 试以邻接矩阵为存储结构,写出连通图的深度优先搜索算法.高分求解!!!!!!! -
柞类葡立:[答案] /* MGraph.cc: 图的邻接矩阵存储表示和实现 */ /* 包含图类型Graph定义;创建图;深度优先遍历;广度优先遍历 */ /* 用到引用型参数,在TC下无法通过编译,VC等C++编译器可通过 */ #include #include #include //含...

都兰县15545057675: 设一个包含N个顶点、E条边的简单有向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于1/0分别表示顶点i与顶点j之间有/无弧),则该矩阵的元素数目为(60... -
柞类葡立:[选项] A. E2 B. N2 C. N2-E2 D. N2 E2 (61)A.N B.N E C.E D.N–E

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网