首页 > 其他分享 >复杂网络分析(day1)

复杂网络分析(day1)

时间:2024-03-14 23:29:22浏览次数:19  
标签:0.408248290463863 复杂 网络 day1 nx add edge 网络分析

什么是复杂网络分析

复杂网络分析是一种研究网络结构和动态行为的方法。复杂网络包括了许多连接和相互作用的节点,这些节点可以是人、物体、信号或其他系统的组成部分。在复杂网络分析中,我们可以通过分析网络的拓扑结构、节点的属性和相互关系等方面来理解网络的性质和行为。

以下是一些复杂网络分析的示例:

社交网络分析:对社交网络中的关系进行分析,探查社交网络中的群体结构、节点的中心度、社交影响力等。

网络流动性分析:分析物流、交通或信息网络中节点和边的流动性,研究网络的拥塞、传播效率等问题。

蛋白质相互作用网络分析:研究蛋白质相互作用网络中蛋白质之间的相互作用关系,探索蛋白质网络的功能和结构。

互联网分析:研究互联网中网站之间的链接关系,分析网站的排名、连接模式和影响力等。

大脑神经网络分析:通过脑电图、功能磁共振成像等技术,分析大脑神经元之间的连接关系,研究大脑的信息传递和功能组织。

这些示例只是复杂网络分析中的一部分应用领域,复杂网络分析还可以应用于其他许多领域,如金融网络、电力网络、疾病传播网络等。

一段python代码示例:

import networkx as nx
import matplotlib.pyplot as plt

# 创建一个无向图
G = nx.Graph()

# 添加节点和边
G.add_edge('A', 'B')
G.add_edge('B', 'C')
G.add_edge('C', 'D')
G.add_edge('D', 'E')
G.add_edge('E', 'F')
G.add_edge('F', 'A')

# 绘制图形
nx.draw(G, with_labels=True)
plt.show()

# 计算度分布
degree_sequence = sorted([d for n, d in G.degree()], reverse=True)
print("Degree sequence:", degree_sequence)

# 计算平均路径长度
avg_path_length = nx.average_shortest_path_length(G)
print("Average path length:", avg_path_length)

# 计算聚类系数
clustering_coefficient = nx.average_clustering(G)
print("Clustering coefficient:", clustering_coefficient)
# 计算中心性
eigenvector_centrality = nx.eigenvector_centrality(G)
print("Eigenvector centrality:", eigenvector_centrality)

绘制的网络图如下:
在这里插入图片描述
一些计算结果:


Degree sequence: [2, 2, 2, 2, 2, 2]
Average path length: 1.8
Clustering coefficient: 0.0
Eigenvector centrality: {'A': 0.408248290463863, 'B': 0.408248290463863, 'C': 0.408248290463863, 'D': 0.408248290463863, 'E': 0.408248290463863, 'F': 0.408248290463863}

标签:0.408248290463863,复杂,网络,day1,nx,add,edge,网络分析
From: https://blog.csdn.net/xiaoyalian/article/details/136724887

相关文章

  • 【基础知识整理】时间复杂度 & 空间复杂度
    原文链接:https://blog.csdn.net/fumeidonga/article/details/131070661时间复杂度是指执行算法所需时间的增长率,而空间复杂度则是指执行算法所需存储空间的增长率。一、时间复杂度通常与输入数据进行比较,时间复杂度不是指具体的时间,而是算法的运算次数,是相对于问题规模的相对量......
  • 【蓝桥杯备赛】Day13:贪心算法(倒计时30天)
    题目1:题目3040:AnEasyProblem给定一个正整数N,求最小的、比N大的正整数M,使得M与N的二进制表示中有相同数目的1。举个例子,假如给定的N为78,其二进制表示为1001110,包含4个1,那么最小的比N大的并且二进制表示中只包含4个1的数是83,其二进制是1010011,因此83就是答案。输入格......
  • 选择、冒泡、插入排序——左神数据结构算法Day1学习笔记
    时间复杂度:算法的常数操作数量级的数学表达式中,去除常数的最高阶项,比如aN²+bN+c的时间复杂度就是O(N²)。时间复杂度是数据量大到一定程度时,评价算法优劣的指标。当时间复杂度相同时,分析不同数据样本下的实际运行时间来比较算法的优劣。额外空间复杂度:在执行代码过程中申请的......
  • Linux软件高级编程-网络--TCP通信--day14
    TCP包头:1.序号:发送端发送数据包的编号2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用)TCP为什么安全可靠:1.在通信前建立三次握手连接  SYN    SYN+ACK    ACK 2.在通信过程中通过序列号和确认号保障数据传输的完整性  本次......
  • 批处理设置组策略密码复杂度
    1.管理员执行cmd.exe2.secedit/export/cfgd:\policy.cfg回车3.用记事本或者写个脚本编辑d:\policy.cfg4.把PasswordComplexity=0改成PasswordComplexity=1密码复杂度要求5.把MinimumPasswordLength=0改成12或者更大最短密码长度6.保存7.secedit/configure/db%wi......
  • 运维必备Linux学习day1(建议收藏,运维面试100%会涉及)
    一.找回root密码找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh输完红色命令后Ctrl+X命令接下来在光标闪烁处,输入指令:mount-oremount,rw/(注意:各个单词间有空格)光标闪烁的位置中,输入passwd,输入一次密码并确认密码光标闪烁的位置中,touch/.auto......
  • 冒泡排序时间复杂度分析
    冒泡排序(升序)时间复杂度分析原理:通过从前往后遍历两两对比,当前一个数大于后一个数,则交换位置,最大的数可以遍历到最右侧不断从后缩小数组范围(end--),当end到第一个元素时停止voidSwap(int*a,int*b){inttmp=*b;*b=*a;*a=tmp;}voidBubbleSort(int*arr,i......
  • Shell排序复杂度分析
    Shell排序复杂度分析1.大致思想可以把希尔排序看作是发牌员,给每人轮流发一张牌。需要给n个人发牌,每人从第二张开始分别进行插入排序,那么第一轮下来后,每人的牌就是有序的。接下来按照刚刚的发牌顺序把牌再收起来,减少人数,不断重复这个步骤,直到只剩下一个人,那么就是直接插入排序......
  • 代码随想录算法训练营day17 | leetcode 110. 平衡二叉树、257. 二叉树的所有路径、404
    目录题目链接:110.平衡二叉树-简单题目链接:257.二叉树的所有路径-简单题目链接:404.左叶子之和-简单题目链接:110.平衡二叉树-简单题目描述:给定一个二叉树,判断它是否是平衡二叉树示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,nul......
  • mysql 按条件排序:order by 高级用法之case when, if 复杂排序
    转载自:https://blog.csdn.net/weixin_44684303/article/details/124445293实例1原始数据顺序需要的效果:学科按照顺序语文,数学,英语分数倒序演示创建表CREATETABLE`student_score`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键',`student_i......