给定一个无向图G,采用邻接表存储。假设图G有n个顶点和e条边,则以下关于邻接表的说法中,正确的是:
答案解析
核心考点说明:邻接表的存储结构,以及时间空间复杂度分析。解题思路分析:邻接表是图的一种链式存储结构,每个顶点对应一个链表,链表中的节点存储的是与该顶点相邻接的顶点。根据无向图的特性,每条边在邻接表中都会被存储两次。每个顶点都需要一个头节点,所以顶点存储结构要占用O(n)的空间。每个边都会占用一个节点,因为是无向图,所以每个边会占用2个节点。 每个选项的详细分析:A选项错误:对于无向图,每条边会在邻接表中出现两次,因此邻接表中链表的总节点数(不包括顶点存储头节点)为2e。B选项错误:邻接表中,顶点存储需要O(n)的空间,边存储需要O(2e)的空间,总空间复杂度为O(n+2e),但通常表示成O(n+e),因为忽略常数因子。C选项错误:判断任意两个顶点之间是否存在边,需要遍历其中一个顶点的邻接链表,最坏情况下需要遍历所有与其相邻的顶点,时间复杂度为O(n),但在稀疏图情况下这个时间复杂度的平均情况会更小。D选项正确:邻接表中顶点的顺序存储结构主要是存储顶点信息,通常使用数组实现,数组的大小取决于顶点的数量n,与边的数量e无关。易错点提醒:容易混淆无向图和有向图中边的存储方式,容易忽略顶点节点也占有空间。正确答案的关键依据:无向图的边在邻接表中出现两次,顶点顺序存储空间只取决于顶点数量。
正确答案:D