首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

数据结构口试之七——图的常见操作

2012-09-18 
数据结构面试之七——图的常见操作题注:《面试宝典》有相关习题,但思路相对不清晰,排版有错误,作者对此参考相

数据结构面试之七——图的常见操作

题注:《面试宝典》有相关习题,但思路相对不清晰,排版有错误,作者对此参考相关书籍和自己观点进行了重写,供大家参考。

七、图的常见操作

       图的基本操作,包括:1.创建一个图,2.判断图是否为空,3.图的打印,4.图的遍历…..

其中对于1,创建一个图,需要考虑图的存储结构,存储结构分为:邻接矩阵存储(数组),邻接表存储(数组链表)。而对于四,也是图的核心操作,主要分为:图的深度优先遍历(逐个结点递归),图的广度优先遍历(类似层次遍历)。

       此外,图的扩展操作:求最小生成树(Prim算法,kruskal算法),求最短路径的(Dijstra算法,kruskal算法)等下一节会详细介绍。

//下面实例中图采用邻接表的存储结构.

template<class vType>voidlinkedListGraph<vType>::getAdjacentVertices(vType adjacencyList[],int& length){       nodeType<vType> *current;       length = 0;       current = first;        while(current != NULL)       {              adjacencyList[length++] = current->info; //将链表的元素存入数组.              current = current->link;       }}


热点排行