Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 实施不断增加的编号系统_Graph_Integer_Biginteger_Vertex_Upperbound - Fatal编程技术网

Graph 实施不断增加的编号系统

Graph 实施不断增加的编号系统,graph,integer,biginteger,vertex,upperbound,Graph,Integer,Biginteger,Vertex,Upperbound,我需要你的建议,我应该如何着手为我的申请实施一个不断增加的编号系统。 我的应用程序构建了一个图,其中的顶点使用 整数。 我目前面临的问题是int或long表示的最大数, 这为图形可以容纳的顶点数量设置了上限 欢迎大家发表意见 谢谢使用64位整数(java:long,c/c++:long) 您可能没有足够的内存来存储2^63个图形节点,因此不需要更多 请记住:如果每个节点都存储自己的索引,则在发生第一次冲突之前,使用32位索引变量将需要16 GB的内存。许多语言支持表示任意精度整数的BigInte

我需要你的建议,我应该如何着手为我的申请实施一个不断增加的编号系统。 我的应用程序构建了一个图,其中的顶点使用 整数。 我目前面临的问题是int或long表示的最大数, 这为图形可以容纳的顶点数量设置了上限

欢迎大家发表意见

谢谢使用64位整数(java:long,c/c++:long)

您可能没有足够的内存来存储2^63个图形节点,因此不需要更多


请记住:如果每个节点都存储自己的索引,则在发生第一次冲突之前,使用32位索引变量将需要16 GB的内存。

许多语言支持表示任意精度整数的BigInteger类型或类。你用哪种语言?你处理的值的范围是什么?@ TePaTeTyPyff,我的应用程序是用C++编写的。这样的编号系统要求没有上限,这样我的应用程序就可以理想地永远生成新的顶点,只要内存足够。您的图形有多少个顶点?除非你的图从来没有边,否则实际上你很可能在整数用完之前就用完了内存。@DSM,我的目标是数百万个顶点。大多数顶点都是短期的。由于这个原因,它们在实例化后几乎会立即被销毁,因此内存不足的可能性很小。但数百万比即使是32位无符号整数也能表示的最大数字要小得多。16 GB对于高端集群来说并不是那么大,在程序执行过程中,大多数顶点都会被破坏。这稍微改变了情况。然而;在计数器关闭之前,您仍必须写入至少16 Gb的内存(即使您不需要同时使用它们)。您知道更改图形的次数以及每次更改时创建的节点数的上限吗?图形的某些顶点将随着时间的推移而消除,但是边的数量会增加,使图形更加密集。每次达到内存上限(例如,10 MB)时,都会进行消除过程。