求一段c语言代码,题目:建立图的存储结构,能够输入图的顶点和边的信息…
g.print_graph()这个算法使用了一个 `Graph` 类来表示图的邻接表存储结构。每个顶点都由一个链表来存储其相邻顶点的信息。`add_edge` 方法信息,并将其存储到邻接表中。`print_graph` 方法用于打印整个图的邻接表。
以(Vi,Vj ,d)的形式从键盘输入建立该旅游区的旅游景点图,其中:Vi和Vj表示两个不同的旅游景点,d表示这两个景点之间的道路距离;该旅游景点图采用邻接矩阵存储结构。
数据结构(C语言版) 图的遍历和拓扑排序 任务:给定一个有向图,实现图的深度优先,广度优先遍历算法,拓扑有序序列,并输出相关结果。
请编写一个完整的程序,建立有向图的邻接表存储结构,要求:
本程序一共设置了9个子功能菜单,图的初始化由函数initgraph()实现,依据读入的图的顶点个数和边的个数。分别初始化图结构中图的顶点向量数组和图的邻接矩阵。9个功能设计描述如下:①建立有向图。
七。以二叉链表为存储结构构造一棵二叉树,并借助栈实现其非递归的中序遍历算法。八。构造一个以邻接矩阵为存储结构的无向图,并实现其深度优先搜索算法九。构造一个以邻接表为存储结构的无向图,并实现其深度优先搜索算法十。
共有:邻接表,邻接矩阵 有向图独有:十字链表,边集数组 无向图独有:邻接多重表 一个一维数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。
答案是m,所以选择c,有向图m个表结点对应m条边,每条边都是有向的。表结点存放的是邻接顶点在数组中的索引。
就算告诉你代码,你也不知道思路的,最好还是自己做。
下面这个是我粗略写的,你先看看,如有问题,可以再补充,追问。
邻接表怎么建立?
先把要讲解的图在下面展示一下,先看一下;然后在图中的邻接点的值的范围画出邻接表的表头。
,观察有向图;2,画出矩阵框,并表示邻接点;3,从第一行开始画矩阵;4,通则写上路径长度,不同写上无穷大;5,依次画完剩余行,就画好了有向图的邻接矩阵。
画出邻接表。接着在数字0的后面画出三个格子,有一个箭头标示,然后在第一个格子里写上连接顶点,第二个格子写上带权值,接着画第二个表,第二个表的最后符号要用^来放置。
画无向图的邻接表的方法是:首先画出一个无向图(注意:无向图是没有箭头的)。然后根据图中点的范围,画出一个长条矩形框。接着分析该顶点与哪几个顶点相连,比如0与4相连。
用矩阵表示无向图的,设有M个节点,则建立一个MXM矩阵,对每个顶点添加它的邻接点,即每行中对于有标记的列为该行顶点的邻接点。