文档介绍:山东建筑大学计算机科学与技术学院课程设计说明书题目:基于逆邻接表的有向图基本操作的实现课程: 数据结构院(部): 计算机学院 专业: 计科班级: 133学生姓名: 潘含笑学号: 20131111092 指导教师: 李盛恩完成日期: I课程设计任务书 II逆邻接链表实现有向图 3一、问题描述 3二、数据结构 3三、逻辑设计 3四、编码 5五、测试数据 14六、测试情况 16逆邻接链表实现有向图 17一、问题描述 17二、数据结构 17三、逻辑设计 17四、编码 19五、测试数据 27七、测试情况 29结论 30课程设计指导教师评语 32山东建筑大学计算机科学与技术学院课程设计任务书设计题目基于逆邻接表的有向图基本操作的实现已知技术参数和设计要求题目三、Work,实现BFS、DFS、拓扑排序,并实现采用逆邻接表作为存储结构的有向图,Work。逆邻接表要使用STL提供的List和Vector等实现。设计内容与步骤设计存储结构设计算法编写程序,进行调试总结并进行演示、~,work和有向图Graph,实现逆邻接链表的存储结构。~,编写测试代码。~,改正一些错误,完成实验。设计考核要求考勤20%课程设计说明书50%成果展示30%指导教师(签字):教研室主任(签字)山东建筑大学计算机科学与技术学院课程设计任务书设计题目双向循环链表已知技术参数和设计要求实现双向循环链表。设计内容与步骤设计存储结构设计算法编写程序,进行调试总结并进行演示、~,~,编写测试代码。设计考核要求考勤20%课程设计说明书50%成果展示30%指导教师(签字):教研室主任(签字)逆邻接链表实现有向图215436一、问题描述12345611232345二、数据结构三、逻辑设计1、work类,通过队列实现BFS,通过堆栈实现DFS和拓扑排序。再构建Graph类,work类实现以逆邻接链表为存储结构的有向图。2、模块划分(work类Initializepos虚函数Edges虚函数Begin虚函数BFS函数DFS函数Topological函数Deactivatepos虚函数Vertices虚函数Nextvertex虚函数Begin函数Out函数Deactivatepos函数Initializepos函数Vertices函数Edges函数Nextvertex函数Graph类3、work类:virtualintBegin(inti)=0;//确定起始顶点virtualintNextvertex(inti)=0;//下一个顶点virtualintEdges()=0;//确定点virtualintVertices()=0;//确定边virtualvoidInitializepos(inti)=0;//让迭代器等于链表的第i个顶点的第一个元素virtualvoidDeactivatepos(inti)=0;//删除迭代器指的元素voidBFS(intv,intreach[],intlabel,inta[]);//宽度遍历voidDFS(intv,intreach[],intlabel,inta[]);//深度遍历boolTopological(intv[]);//work();//析构函数Graph类:virtual~Graph();//析构函数intInDegree(intnode);//入度intOutDegree(intnode);//出度Graph&Add(intnode1,intnode2);//添加点Graph&Delete(intnode1,intnode2);//删除点intBegin(inti);//确定起始顶点intNextvertex(inti);//下一个顶点intEdges(){returne;}//确定点intVertices(){returnn;}//确定边voidInitializepos(inti){pos=al[i].begin();}////让迭代器等于链表的第i个顶点的第一个元素voidDeactivatepos(inti){al[i].erase(pos);}//删除迭代器指的元素voidOut();//输出函数四、编码//#include<iostream>#include<queue>#include<stack>#include<vector>usingnamespacestd;work{public: virtualintBegin(inti)=