1. 首页
  2. 存储
  3. SUN
  4. Golang实现拓扑排序(DFS算法版)

Golang实现拓扑排序(DFS算法版)

上传者: 2020-09-21 13:41:24上传 PDF文件 45.85KB 热度 25次

问题描述:有一串数字1到5,按照下面的关于顺序的要求,重新排列并打印出来。该问题是一个非常典型的拓扑排序的问题,一般解决拓扑排序的方案是采用DFS-深度优先算法,对于DFS算法我的浅薄理解就是递归,因拓扑排序问题本身会有一些前置条件,所以解决该问题就有了以下思路。先将排序要求声明成map,然后遍历1-5这几个数,将每次遍历取出的数在map中key查找是否存在,如果存在就按map中key,value的关系,放入结果数组中。再用刚map[key]获取的value去map中的key查找是否存在,如果存在就将新的key和value放入结果数组的一头一尾,以此类推,最终打印结果数组,应满足本题的要求。下面就用Golang实现上述的问题。

用户评论