如何判断图为稠密还是稀疏

--------------------- 
作者:田春峰 
来源:CSDN 
原文:https://blog.csdn.net/accesine960/article/details/294517 
版权声明:本文为博主原创文章,转载请附上博文链接!

 --------------------- 

最近涉及了一些图的算法,发现用途蛮广,比如:物流配送,中文分词,甚至课程排列都可以用图来表示和计算。无论哪种用途选择一个合适的图数据结构至关重要。
    图有两种主要的表示方法:邻接矩阵和邻接表。
    决定我们采用邻接矩阵还是采用邻接表来表示图,需要判断一个图是稀疏图还是稠密图。邻接矩阵和邻接表表示图所需的存贮空间和算法时间度相差非常大,所以判断一个图是稀疏的还是稠密的非常重要。

    判断标准如下:
    假设一个图G=(V,E)有n个节点,图G的每个节点的出度是一个固定的常数:k。由于E=kV=O(V) ,所以我们把符合E=O(V) 条件的图称为稀疏图。
    同理 :
    如果一个图G=(V,E)有n个节点,假设图G的每个节点的出度是关于n的一个小数,并且0<f<=1,我们把符合E=fV2(平方)=V2(平方)条件的图称为稠密图。
    比如:一个图节点为16,节点的出度为4,那么f = 0.25。

    据说:邻接表是表示图的标准方法,原因是稠密图在实际应用中并不多见。

猜你喜欢

转载自blog.csdn.net/ruibin_cao/article/details/88773680