我学习C++实现的图形执行问题,因此我读Wikipedia entry,发现有两种常用的方法:邻接表和邻接矩阵。我理解邻接表和邻接矩阵之间的空间折衷。关于图的C++
我有三个问题
1)是否有其他的方式比上面列出来实现图中的其他两个?
2)使用不同的数据结构之间有什么区别?链表VS矢量地图VS
3)这是什么下面的段落是指文章
邻接表和邻接之间的其他显著差异 矩阵是他们执行的操作的效率英寸在邻接列表中,每个顶点的邻居可以有效地列出 ,在时间上与顶点的度数成比例。在邻接矩阵中,该操作花费的时间与图中顶点的数量 成比例,其可能显着高于 度。另一方面,邻接矩阵允许测试两个顶点是否在恒定时间内彼此相邻; 邻接列表较慢以支持此操作。
efficiency of the operations they perform
是指什么?什么类型的操作?
two vertices are adjacent to each other in constant time
是什么意思,有什么实际用法知道两个顶点是否相邻?
我觉得你刚才提到了一个很好的算法和数据结构类的第一个月或两个月。看起来“大哦”,又名** O()**,这会让你走上通往#2和#3的答案。一旦你对big-O感到满意,研究各种图形算法和改进。例如,根据您使用的数据结构,Djikstra的算法可能是O(N^2)或O(N log N)。至于#1?那么,这两种基本方法有所改进和融合,但在您理解大局之前,请牢记这两个基本组织 –