我可以使用哪种数据结构来处理这种方式
What sort of data structure can I use to deal in such a way
该示例简化为玩具示例,但我将处理1000个节点。
我们有 5 个节点
t1
t2
a0
a1
t1 connects to a0 and a3
t2 connects to a0, a1, a2 and a3
a0 connects to a1
a1 connects to a0, t2
我的最终目标是制作一个程序,该程序将使用图形库绘制节点之间的连接以及节点。
我可以使用哪种数据结构。我的第一个想法是使用链表,但我认为这不适用于这种情况,因为该数据结构在每个节点之间只使用一个连接。
您的数据结构是图形。根据连接数与节点数的比率,应选择可提供足够运行时效率并节省内存的表示形式:
- 如果比率较低(连接相对较少的节点很多(,则图形是稀疏的。表示稀疏图的良好数据结构是邻接列表。
- 如果比率很高(很多节点,每个节点连接到,比如说,四分之一的其他节点(,那么图形是密集的。密集图的一个很好的表示形式是邻接矩阵。
相关文章:
- 我可以使用哪种数据结构来处理这种方式
- 如何编写具有相同名称的相同函数,该函数在C++中几乎以相似的方式处理不同的类参数?
- clang++ 是否以更轻松的方式处理系统标头?
- 如何以这种方式处理字符串数组
- 处理无法按预期方式创建的对象,c++
- 跨平台套接字发送,Linux 上的缓冲区常量无效* Windows上的常量字符*,最佳处理方式
- 识别指针处理方式中的错误
- 为什么在指针和数组的情况下,字符数组的处理方式不同
- 为什么这些函数签名的处理方式不同?
- G++ 和 boost 中 regex_replace() 替换字符串中''的不同处理方式
- 常量标识符在C++中有不同的处理方式吗
- 在 C++ 中,get() 和 getline() 对换行符的处理方式不同
- 为什么Visual Studio在调试时对ANSI Escape代码有不同的处理方式
- 在处理回调函数时,通常的异常处理方式是什么?
- 为什么未初始化的const成员在C和c++中的处理方式不同?
- 定义和处理方式不同
- 你能把一个异常继承层次结构包装到另一个吗?——或者,另一种干净的处理方式
- GCC 3.42和VC2008对std::transform的处理方式不同,接受函子的引用或副本
- NaN在不同g++版本中的处理方式不同
- OMP 目标中全局数组(malloc 与静态)的不同处理方式