进阶实验6-3.2 社交网络图中结点的“重要性”计算 (30分)-dijkstra算法

解题思路:(邻接矩阵存储)

用dijkstra算法依次求出每个结点到其余结点的最短距离

#include <stdio.h>
#include <string.h>
#define INF 0x3f3f3f3f
#define MaxVex 1000+10
int G[MaxVex][MaxVex];
int visit[MaxVex];
int Nv,Ne;
void Init() {
    memset(G,INF,sizeof(G));
    int i;
    for(i=1; i<=Nv; i++) {
        G[i][i]=0;
    }
    int v1,v2;
    for(i=0; i<Ne; i++) {
        scanf("%d %d",&v1,&v2);
        G[v1][v2]=1;
        G[v2][v1]=G[v1][v2];
    }
}
void Dijkstra(int s) {
    visit[s]=1;
    int i,j,w,MIN;
    for(j=1; j<=Nv; j++) {
        MIN=INF;
        for(i=1; i<=Nv; i++) {
            if(!visit[i]&&G[s][i]<MIN) {
                MIN=G[s][i];
                w=i;
            }
        }
        visit[w]=1;
        for(i=1; i<=Nv; i++) {
            if(!visit[i]&&MIN+G[w][i]<G[s][i]) {
                G[s][i]=MIN+G[w][i];
            }
        }
    }
}
int main() {
    scanf("%d %d",&Nv,&Ne);
    Init();
    int i,j;
    for(i=1; i<=Nv; i++) {
        memset(visit,0,sizeof(visit));
        Dijkstra(i);
    }
    int sum[MaxVex]={0};
    for(i=1; i<=Nv; i++) {
        for(j=1; j<=Nv; j++)
            sum[i]+=G[i][j];
    }
    int n,x;
    scanf("%d",&n);
    for(i=0; i<n; i++) {
        scanf("%d",&x);
        float tmp=(float)(Nv-1)/(float)sum[x];
        printf("Cc(%d)=%.2f\n",x,tmp);
    }
    return 0;
}

原文地址:https://www.cnblogs.com/snzhong/p/12532539.html

时间: 2024-08-30 00:38:46

进阶实验6-3.2 社交网络图中结点的“重要性”计算 (30分)-dijkstra算法的相关文章

PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)

PTA数据结构与算法题目集(中文)  7-36 社交网络图中结点的“重要性”计算 (30 分) 7-36 社交网络图中结点的“重要性”计算 (30 分) 在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱.而结点根据其所处的位置不同,其在网络中体现的重要性也不尽相同. “紧密度中心性”是用来衡量一个结点到达其它结点的“快慢”的指标,即一个有较高中心性的结点比有较低中心性的结点能够

7-36 社交网络图中结点的“重要性”计算 (30分)

在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱.而结点根据其所处的位置不同,其在网络中体现的重要性也不尽相同. “紧密度中心性”是用来衡量一个结点到达其它结点的“快慢”的指标,即一个有较高中心性的结点比有较低中心性的结点能够更快地(平均意义下)到达网络中的其它结点,因而在该网络的传播过程中有更重要的价值.在有N个结点的网络中,结点v?i??的“紧密度中心性”(数学上定义为v?

PTA 7-36 社交网络图中结点的“重要性”计算(图的BFS)

本题考点: 图的BFS 在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络中相互连接的结点之间蔓延的一种相互作用,可以增强也可以减弱.而结点根据其所处的位置不同,其在网络中体现的重要性也不尽相同. "紧密度中心性"是用来衡量一个结点到达其它结点的"快慢"的指标,即一个有较高中心性的结点比有较低中心性的结点能够更快地(平均意义下)到达网络中的其它结点,因而在该网络的传播过程中有更重要的价值.在有N个结点的网络

有向图中单个源点到终点的最短路径--Dijkstra算法与实现

1.Dijkstra算法能够解决有向图中单个源点到另一终点的最短路径问题,它的算法过程如下: 1)用矩阵graph[]N[N](N为图中节点个数)表示带权的有向图G.若图中两个节点vi和vj是连通的,则graph[i][j]表示这两个节点之间边的权值:若两节点vi和vj不是连通的,则graph[i][j] = -1. 2)设S为从某点start_vec开始的最短路径path的终点集合,初始状态时,集合S中只有起始节点start_vec.设从起始节点start_vec到其余节点vi的最短路径长度为

进阶实验6-3.3 天梯地图 (30分)-Dijkstra

解题思路:采用Dijkstra算法,算两次,一次算最短时间,一次算最短路径,另开一数组记录路径 #include <stdio.h> #include <string.h> #define INF 0x3f3f3f3f #define MaxVex 500 typedef struct { int length; int time; } Graph; Graph G[MaxVex][MaxVex];//图 int visit[MaxVex]= {0};//访问标记 int fpat

友盟社交分享中的那些坑

友盟社交分享中的那些坑 目前在做的产品,新版本需要支持社交分享,其实旧版本已经有了,但是被屏蔽了,本来再次打开也没什么,但是发现新的需求要多支持一个平台,而旧平台的sdk又太旧了(接口都改了),为了节约时间,就考虑友盟社交分享,文档说快速集成只要10分钟. 下面呢,咱来说下具体使用友盟分享遇到的一些问题 首先是 产品需求 为了避免大伙看大段的需求文档,咱精简出和本文相关的需求 分享到微信好友 分享到微信朋友圈 分享到qq空间 分享到新浪微博 分享图片+文字 分享视频+文字 分享纯文字 点击分享出

Android实验一(在Android Studio中创建项目和模拟器)

北京电子科技学院(BESTI) 实     验    报     告 课程:移动平台开发         班级:1592 姓名:苏泽楠 学号:20159207 成绩:             指导教师:娄嘉鹏       实验日期:2015.10.31 实验密级:         预习程度:             实验时间:15:30-16:30 仪器组次:          必修/选修:选修        实验序号: 实验名称:在Android Studio中创建项目和模拟器 实验仪器: 名

《脑机交互促进学习有效发生的路径及实验研究——基于在线学习系统中的注意力干预分析》 文献随笔(八)

一.基本信息 标题:脑机交互促进学习有效发生的路径及实验研究——基于在线学习系统中的注意力干预分析时间: 2019来源: 前沿搜索关键字:脑机交互:脑机接口:学习路径:学习注意力:实验研究:自适应学习:智能测评 二.研究 脑机交互在技术层面诞生并逐渐发展,但更多的还停留在技术层面,在基于1985-2018年的SCI和SSCI期刊论文中关于“脑机接口的演化过程及其在教育领域的应用”的知识图谱分析,其脑机接口在学习过程的核心,体现为大脑和双向救护,包括人工智能技术.教育大数据分析技术.大脑-心理-计

简单探讨可牛影像软件中具有肤质保留功能的磨皮算法及其实现细节。

在几年前写的一篇关于BEEP的文章时,我曾经说过Beep的去噪作用可以用于磨皮,并且给出了结论BEEP比可牛和美图等的效果要更为好,现在看来,那个结论确实是太为夸张和固定了.不同的人的审美观不同,同一个人在不同时段审美观也会有所差异,现在看来,我到时觉得可牛影像的带有肤质保留效果的磨皮更加自然,也更加符合实际的情况. 在前段日子里,又随意的百度了下PS的磨皮教程,看到了很多的曾经看过的例子,也看到了一些当时不以为然的文章.其中就包括http://www.missyuan.com/thread-4