分类：电脑/网络-程序设计-C/C++
问题：图的深度优先搜索的时间复杂度当用二维数组表示邻接矩阵作图的存储结 
   当用二维数组表示邻接矩阵作图的存储结构时，查找每个顶点的邻接点所需时间为O(n^2),其中n为顶点数．而当以邻接表作图的存储结构时，找邻接点所需时间为O(e),其中e为无向图中边的数或有向图中弧的数．　 由此，当以邻接表作存储结构时，深度优先遍历图的时间复杂度为O(n+e).请问上面这段话是什么意思？　　为什么用邻接矩阵表示时，查找每个顶点的邻接点所需时间为O(n^2)？　　而当以邻接表作图的存储结构时，找邻接点所需时间为O(e)？且深度优先搜索遍历图的时间复杂度为O(n+e)？　　谢谢谢谢　　   当用二维数组表示邻接矩阵作图的存储结构时，查找每个顶点的邻接点所需时间为O(n^2),其中n为顶点数．而当以邻接表作图的存储结构时，找邻接点所需时间为O(e),其中e为无向图中边的数或有向图中弧的数．　 由此，当以邻接表作存储结构时，深度优先遍历图的时间复杂度为O(n+e).请问上面这段话是什么意思？　　为什么用邻接矩阵表示时，查找每个顶点的邻接点所需时间为O(n^2)？　　而当以邻接表作图的存储结构时，找邻接点所需时间为O(e)？且深度优先搜索遍历图的时间复杂度为O(n+e)？　　谢谢谢谢　　
回答：邻接矩阵表示时，矩阵中元素的数目是n^2。查找每个顶点的邻接点需要访问矩阵中的所有元素。
邻接表作图的存储结构时，用着色法标记图上的点，图初始化所需时间为O(n)，每个顶点执行一次DFSTtraverse函数，一个顶点执行DFSTtraverse所需时间与和该顶点相邻的顶点数成正比，所有顶点执行DFSTtraverse函数所需时间的和与e成正比。