c++的基本
liuzheng_yong
这个作者很懒,什么都没留下…
展开
-
c++的图的邻接表表示方法实现
图的在计算机中一般情况下有两种表示方式,邻接矩阵和邻接表两种方式,当图的边比较少的时候,用矩阵的方式会比较浪费较多的存储空间,所以此时最好用邻接表的方式,即用链表的方式来表示,有向图和无向图均可以表示。代码块例原创 2017-03-19 19:20:47 · 3260 阅读 · 1 评论 -
有向图的拓扑排序
拓扑排序的算法实现 描述: 首先找到入度为0的顶点,然后再将它的直接后继的所有顶点的入度数减1,然后输出该点,再找入度为0,如此循环,一直到找不到入度为0 的点。如果整个图的所有顶点都找到了,那么G中就没有有向环,而且输出的序列就是一个拓扑有序的序列。 但是由于可能存在同时两个点的入度都为0,所以拓扑序列不唯一。#include <iostream> #i原创 2017-03-19 20:07:10 · 961 阅读 · 0 评论 -
求无向图的连通分量
描述: 从任意一点出发,然后用DFS或者BFS遍历所有能够遍历到的点,同时设置标志来确定是否已经遍历过了,在哪一个marked里面遍历,剩余的再进行循环从剩下的点出发,再遍历,求出所有连通分量 代码void DFS(int i,int n,int *visitflag,Edge *edge[n],int marked){ if(visitflag[i]==marked){原创 2017-03-19 20:50:30 · 4761 阅读 · 0 评论 -
uva210
uva210题目就自己去uva网站找了,其实是个特别好的题,早操作系统的有很好的涉及,就是涉及加锁和解锁 其实题目没有任何难度,就是直接进行模拟程序运行就可以,最多也就是队列的运用,不过这里默认使用了STL的双向队列,按照小紫书上介绍的方法,不过就是查查STL的文档和deque的函数就明白了。 本来直接就两个队列,一个ready队列(双向),一个wait队列,然后存储每个程序我都是用队列的形式,原创 2017-03-21 16:44:25 · 793 阅读 · 0 评论