邻接矩阵和邻接表空间问题

邻接矩阵和邻接表空间问题_第1张图片
设有 N N N个个节点,使用邻接矩阵存储时,顶点数组占 N N N块空间,而邻接矩阵占 N 2 N^2 N2块空间。故使用邻接矩阵所需要的总空间为 N + N 2 N + N^2 N+N2
在使用邻接表的时候,顶点数组中同时有数据域指针域,占用 2 N 2N 2N空间,边节点假设有 2 E 2E 2E个(每条边都会出现两次),每个边节点有存储节点序号的数据域和指向下一个节点的指针域共占用 4 E 4E 4E块空间。故使用邻接矩阵所需要的总空间为 2 N + 4 E 2N+4E 2N+4E
要想使用邻接矩阵是节约空间的,则需要满足 2 N + 4 E < N + N 2 2N+4E < N+N^2 2N+4E<N+N2解之得:
E < N ( N − 1 ) 4 E < \frac{N(N-1)}{4} E<4N(N1)

你可能感兴趣的:(数据结构)