C语言——无向带权图邻接矩阵的建立
#include <stdio.h>
#include "Graph.h"
#define MAX_INT 32767 /*
#define vnum 20
#define MAX_INT = 32767 // 邻接矩阵
typedef struct gp
{
int vexs[vnum]; // 顶点信息
int arcs[vnum][vnum]; // 邻接矩阵
int vexnum, arcnum; // 顶点数,边数
}Graph; */ // 无向带权图邻接矩阵的建立
void CreateGraph(Graph *g)
{
int i,j,n,e,w,k;
int info; // 读入顶点数和边数
scanf("%d %d", &n, &e);
g->vexnum = n;
g->arcnum = e; // 读入顶点信息
for(i = ;i < g->vexnum;i++)
{
scanf("%d", &info);
g->vexs[i] = info;
} // 初始化邻接矩阵
for(i = ;i < g->vexnum;i++)
{
for(j = ;j < g->vexnum;j++)
{
g->arcs[i][j] = MAX_INT;
}
} // 读入边(顶点对)和权值
for(k = ;k < g->arcnum;k++)
{
scanf("%d %d %d", &i, &j, &w);
g->arcs[i][j] = w;
g->arcs[j][i] = w;
}
} // 伪算法,未必能运行 main()
{ }
C语言——无向带权图邻接矩阵的建立的更多相关文章
- 无向带权图的最小生成树算法——Prim及Kruskal算法思路
边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权. 最小生成树(MST):权值最小的生成树. 生成树和最小生成树的应用:要连通n个城市需要n-1条边线路.可以 ...
- 带权图的最短路径算法(Dijkstra)实现
一,介绍 本文实现带权图的最短路径算法.给定图中一个顶点,求解该顶点到图中所有其他顶点的最短路径 以及 最短路径的长度.在决定写这篇文章之前,在网上找了很多关于Dijkstra算法实现,但大部分是不带 ...
- Java数据结构——带权图
带权图的最小生成树--Prim算法和Kruskal算法 带权图的最短路径算法--Dijkstra算法 package graph; // path.java // demonstrates short ...
- java数据结构----带权图
1.带权图:要引入带权图,首先要引入最小生成树,当所有的边拥有相同的权值时.问题变得简单了,算法可以选择任意一条边加入最小生成树.但是当边有不同的权值时,需要用一些算法决策来选择正确的边. 2.带权图 ...
- C语言数据结构基础学习笔记——图
图(G)由顶点集(V)和边集(E)组成,G=(V,E) 常用概念: ①V(G)表示图G中顶点的有限非空集,V永不为空: ②用|V|表示图G中顶点的个数,也称为图G的阶: ③E(G)表示图G中顶点之间关 ...
- 有向网络(带权的有向图)的最短路径Dijkstra算法
什么是最短路径? 单源最短路径(所谓单源最短路径就是只指定一个顶点,最短路径是指其他顶点和这个顶点之间的路径的权值的最小值) 什么是最短路径问题? 给定一带权图,图中每条边的权值是非负的,代表着两顶点 ...
- 洛谷.2619.[国家集训队2]Tree I(带权二分 Kruskal)
题目链接 \(Description\) 给定一个无向带权连通图,每条边是黑色或白色.求一棵最小权的恰好有K条白边的生成树. \(Solution\) Kruskal是选取最小的n-1条边.而白边数有 ...
- 某种带权有向无环图(graph)的所有路径的求法
// 讨论QQ群:135202158 最近做某个东西,最后用图实现了,这里总结一下算法. 假设有以下带权有向无环图(连通或非连通,我这里用的是非连通的): 每个节点(node)可能与其他节点有向地相连 ...
- 设计一个算法,採用BFS方式输出图G中从顶点u到v的最短路径(不带权的无向连通图G採用邻接表存储)
思想:图G是不带权的无向连通图.一条边的长度计为1,因此,求带顶点u和顶点v的最短的路径即求顶点u和顶点v的边数最少的顶点序列.利用广度优先遍历算法,从u出发进行广度遍历,类似于从顶点u出发一层一层地 ...
随机推荐
- 2. 需要对测试用的数据进行MD5加密
import hashlib phone_num = open("D:/testdata/phone10.txt","r") out_file = open(& ...
- C++ class和struct的区别
class和struct定义类唯一的区别就是默认的访问权限. 如果我们使用struct关键字,则定义在第一个访问说明符之前的成员是public的:相反,如果我们使用class关键字,组这些成员是pri ...
- Basic Calculator - Stack(表达式计算器)
978. Basic Calculator https://www.lintcode.com/problem/basic-calculator/description public class Sol ...
- ArduinoNano卡在上传,无法烧录
卡在“上传...”.过了很久被告知失败. 上午在开发版管理器中将Arduino AVR Boards从1.6.20升级到1.6.22,出现这个问题. 再安装回1.6.20,问题未被解决. 查阅资料无果 ...
- 剑指offer——面试题32.1:分行从上到下打印二叉树
void BFSLayer(BinaryTreeNode* pRoot) { if(pRoot==nullptr) return; queue<BinaryTreeNode*> pNode ...
- 手机端全局样式表整理(mobile)
@charset "utf-8";/* * filename: global.css * description: 全局样式(包含样式重置,公共常用 ...
- Java中的异常Exception
涉及到异常类相关的文章: (1)异常类不能是泛型的 http://www.cnblogs.com/extjs4/p/8888085.html (2)Finally block may not comp ...
- python-fifo管道文件通信
#!/usr/bin/python #coding=utf-8 import os,sys,multiprocessing,time try: os.mkfifo('file') except :pa ...
- CentOS6.4将MySQL5.1升级至5.5.36
1.为了安全期间,首先需要备份原有数据 2.卸载原有MySQL,先停止原有的MySQL服务,再查找 find / -name mysql [root@qxyw /]# find / -name mys ...
- Veloce2 Emulator
High capacity, high-speed, multi-application powerhouse for simulation and emulation of SoC designs ...