Network C++表示网络结构
来源:互联网 发布:广州淘宝运营助理招聘 编辑:程序博客网 时间:2024/06/01 20:44
对于社交网络分析, 有时需要保存一个完整的网络结构。
需要利用数据结构 图
这里提供一个数据结构范例,可以较快速进行图的操作。
class Vertex{public:Vertex(void){num_in_edges = 0; //这个点的入度num_out_edges = 0; //点的出度};~Vertex(void){};vector< pair<int, double> > in_edges; //进入点的index和权重vector< pair<int, double> > out_edges; int num_in_edges, num_out_edges;};
class Graph{public:Graph(void);~Graph(void);// Number of verticesint vertex_num;// Number of edgesint edge_num;<span style="white-space:pre">unordered_map<int, int> vertex_map;</span>// Adjacent Listvector<class Vertex> vertices;
void add_vertex(int id){vertex_map[id] = vertex_num;vertices.push_back(class Vertex());vertex_num++;}
void add_edge(int from, int to, double weight){if (vertex_map.find(from) == vertex_map.end()){add_vertex(from);}if (vertex_map.find(to) == vertex_map.end()){add_vertex(to);}int from_id = vertex_map.find(from)->second;int to_id = vertex_map.find(to)->second;// if this edge already exists, returnfor (unsigned int i = 0; i < vertices[from_id].out_edges.size(); i++){if (vertices[from_id].out_edges[i].first == to_id){return;}}vertices[from_id].out_edges.push_back(make_pair(to_id, weight));vertices[from_id].num_out_edges++;vertices[to_id].in_edges.push_back(make_pair(from_id, weight));vertices[to_id].num_in_edges++;edge_num++;}
0 0
- Network C++表示网络结构
- Representation Learning on Network 网络表示学习
- [Network]网络协议结构体及文件
- GAN在网络表示中的应用--GraphGAN、Adversarial Network Embedding
- c/s网络结构
- 6.C语言控制结构的汇编表示
- C语言中的结构体如何用Java表示
- 排序网络(Sorting network )构造的C语言实现
- 网络 网络层(Network)
- C语言 队列的链式结构的实现与表示 数据结构 队列的实现与表示
- network.c
- Hive复杂结构表示
- redis对象结构表示
- 神经网络与机器学习导言笔记——网络结构与知识表示
- 覆盖网络 (overlay network)
- NOI2006 网络收费 network
- network: 查看网络相关
- network: android 网络判断
- git 切换分支
- 导入cx_Oracle时提示"DLL load failed"问题解决
- 多线程(七):AtomicInteger
- Unity Delegate Event
- 扩展属性attr
- Network C++表示网络结构
- Android利用HTTP协议加载网络图片
- JSP九大内置对象
- iOS GCD集汇(二)GCD详解---->很详细噢
- openssl建立证书,非常详细配置ssl+apache
- CSS selector选择符 进行CSS网页布局的基础
- Hibernate – One-to-Many example (Annotation)
- svn日常使用
- Android 开发 之 Fragment 详解