完成一个通用图的实现，包括深度遍历，广度遍历和拓扑排序