社区首页 >问答首页 >如何将C++图结构转换为Python/Numpy图结构?

如何将C++图结构转换为Python/Numpy图结构?
EN

Stack Overflow用户
提问于 2011-10-17 01:42:29
回答 2查看 638关注 0票数 1

免责声明:这篇文章的作者对C++和Python的了解有限,并且对Java和Ruby拥有足够的知识。

"OpenCL编程指南“中的一个示例使用以下OpenCL定制的图形数据结构在OpenCL设备上运行Dijkstra的算法:

代码语言:javascript
代码运行次数:0
复制
void generateRandomGraph(GraphData *graph, int numVertices, int neighborsPerVertex)
{
    graph->vertexCount = numVertices;
    graph->vertexArray = (int*) malloc(graph->vertexCount * sizeof(int));
    graph->edgeCount = numVertices * neighborsPerVertex;
    graph->edgeArray = (int*)malloc(graph->edgeCount * sizeof(int));
    graph->weightArray = (float*)malloc(graph->edgeCount * sizeof(float));

    for(int i = 0; i < graph->vertexCount; i++)
    {
        graph->vertexArray[i] = i * neighborsPerVertex;
    }

    for(int i = 0; i < graph->edgeCount; i++)
    {
        graph->edgeArray[i] = (rand() % graph->vertexCount);
        graph->weightArray[i] = (float)(rand() % 1000) / 1000.0f;
    }
}

该数据结构是以Pawan Harish和P.J. Narayanan的论文“GPU上加速大图算法使用CUDA”为基础的。

基本上,它有三个数组:一个顶点数组V,每个顶点指向边缘数组E中的相邻顶点(顶点i+1的邻居紧跟在数组E中的顶点i的邻居)。第三个数组用于边缘权重(还有两个更特定的OpenCL相关数组)。

如何用Python/Numpy来表示这个数据结构?,我想在PyOpenCL中使用它。

EN

回答 2

Stack Overflow用户

发布于 2011-10-17 03:56:18

http://wiki.python.org/moin/PythonGraphApi

  • Several,,
  • ,您想知道的关于图形和Python的所有信息:不推荐的图形包的作者,推荐这个包:http://networkx.lanl.gov/index.html。它可以将一个图转换成Numpy矩阵、Scipy稀疏矩阵等

票数 1
EN

Stack Overflow用户

发布于 2011-10-17 03:30:44

没有关于这一主题的专家,但这是某种附加矩阵(http://en.wikipedia.org/wiki/Adjacency_matrix)。Numpy核心数据类型是n维数组,所以这应该是非常直接的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7791937

复制
相关文章
[数据结构与算法] 图结构
图是一种非线性的数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为顶点。 如下图:
时间静止不是简史
2020/07/24
7350
[数据结构与算法] 图结构
数据结构:图结构
设图 G = (V, E)是一个有 n 个顶点的图,则图的邻接矩阵G.arcs[n][n]定义为:
ttony0
2022/12/26
1.6K0
数据结构:图结构
数据结构-图结构
图Graph是由顶点(图中的节点被称为图的顶点)的非空有限集合V与边的集合E(顶点之间的关系)构成的。 若图G中的每一条边都没有方向,则称G为无向图。 若图G中的每一条边都有方向,则称G为有向图。
WuShF
2023/07/08
3900
数据结构-图结构
python数据结构之图
在数学中,图是描述于一组对象的结构,其中某些对象对在某种意义上是“相关的”。这些对象对应于称为顶点的数学抽象(也称为节点或点),并且每个相关的顶点对都称为边(也称为链接或线)。通常,图形以图解形式描绘为顶点的一组点或环,并通过边的线或曲线连接。--百度百科
python与大数据分析
2022/03/11
1.6K0
python数据结构之图
图的存储结构
废话不多说,上来撸干货。 我们知道,实现图共有两种常用的方法:邻接矩阵、邻接表法。接下来我们就来一一介绍这两种方法。 实际上,图的存储结构有些复杂,为了方便读者理解,也为了方便笔者的写作,这部分的篇幅会长一些,稍有些啰嗦,还望见谅。
roobtyan
2019/02/21
1K0
图的存储结构
数据结构 图
1-1 无向连通图至少有一个顶点的度为1 错误: 无向连通图考点: 1. 每条边连接两个顶点,所有顶点的度之和等于边数的2倍 2.记住两个特殊的无相连通图模型: A: B: 1-2 用邻接表法存储图
Kindear
2018/01/15
1.8K0
数据结构 图
docker结构框架图
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101956.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/29
3010
docker结构框架图
数据结构——图
设图 A = (V, E) 有 n 个顶点,则图的邻接矩阵是一个二维数组 A.Edgen,定义为:
ruochen
2021/06/29
8320
数据结构——图
docker结构框架图
互联网-小阿宇
2022/11/21
3750
docker结构框架图
数据结构–图
1.图 图G由顶点集V和关系集E组成,记为:G=(V,E),V是顶点(元素)的有穷非空集,E是两个顶点之间的关系的集合。 若图G任意两顶点a,b之间的关系为有序对,∈E, 则称为从a到b的一条弧/有向边;其中: a是的弧尾,b是的弧头;称该图G是有向图。 若图G的任意两顶点a,b之间的关系为无序对(a,b), 则称(a,b)为无向边(边),称该图G是无向图。 无向图可简称为图。 2.完全图 3.网:带权的图 4.子图:对图 G=(V,E)和G’=(V’,E’), 若V’
用户7267083
2022/12/08
6490
数据结构–图
数据结构——图
图是一组由边连接的顶点。任何二元关系都可以用图来表示。社交网络、道路等都可以用图来表示。
多云转晴
2020/05/21
9120
数据结构-图
图就是由一些点与边组成,点之间是边,边两头有点,类似于我们所画的思维导图。根据点之间连接的边是否有具体指向区分为『有向图』和『无向图』。
小闫同学啊
2020/02/19
7910
数据结构:图
无论是有向图还是无向图,主要的存储方式都有两种:邻接矩阵和邻接表。前者图的数据顺序存储结构,后者属于图的链接存储结构。
HLee
2021/01/19
2K0
数据结构:图
1777:文件结构“图”
1777:文件结构“图” 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 在计算机上看到文件系统的结构通常很有用。Microsoft Windows上面的"explorer"程序就是这样的一个例子。但是在有图形界面之前,没有图形化的表示方法的,那时候最好的方式是把目录和文件的结构显示成一个"图"的样子,而且使用缩排的形式来表示目录的结构。比如: ROOT | dir1 | file1 | file2 | file3 | dir
attack
2018/04/11
1.2K0
数据结构-图
图是不同于前面两种数据结构的另一种新的数据结构,线性表中元素与元素之间是被串起来的,每个数据元素只有一个直接前驱和一个直接后继,是一种一对一的数据结构;在树的结构中,数据元素之间有明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中的一个元素相关,是一种一对多的数据结构举个例子就是你可以有多个孩子,但是只能有一对父母。但现实中的情况是,人与人之间的关系是复杂的,不是简单的线性关系,也不全是层级关系,而可能交叉相互关系,也就是多对多的数据情况,这就图的一个概念,图是一种多对多的数据结构。
张俊红
2018/10/08
1K0
数据结构-图
【化解数据结构】详解图结构,并实现一个图结构
在我们生活中,每天使用的微信等社交软件,我们的好友关系网也能被形象成一种图结构,如图,图能表示各种丰富的关系结构
小丞同学
2021/12/08
7980
【化解数据结构】详解图结构,并实现一个图结构
【数据结构】图结构与图的深度广度搜索
图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以称为
冷环渊
2022/04/06
4400
【数据结构】图结构与图的深度广度搜索
图的数据结构_数据结构关于图的算法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170982.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/23
4560
图的数据结构_数据结构关于图的算法
C++ 结构体转json
🔥FdogSerialize🔥 FdogSerialize是一个用于C++序列化的开源库,采用非入侵方式,无需在原有结构体上进行修改,目前支持基础类型,基础类型数组,结构体,以及vector,list,map等数据类型的序列化,支持JSON和XML两种数据格式,支持别名,支持忽略字段,最少三行代码即可完成转换。 github地址:FdogSerialize开源库 ​ 代码中有使用到C++11特性,并且使用到了正则表达式,若是linux编译,需保证gcc版本在4.9(4.8不支持正则表达式) 该库包括
花狗Fdog
2022/05/09
1.6K0
【数据结构】图—图非0面积
编程计算由"1"围成的下列图形的面积。面积计算方法是统计"1"所围成的闭合曲线中"0"点的数目。如图所示,在10*10的二维数组中,"1"围住了15个点,因此面积为15。
叶茂林
2023/07/30
2140
【数据结构】图—图非0面积

相似问题

类图C++结构

12

结构向量图与结构向量图

33

如何将Erlang数据结构转换为C++邻接列表(图)?

12

巨型图结构

80

Gremlin:如何将围绕单个顶点的所有图结构转换为子图

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档