王道书上 给出的是两个函数的嵌套写出来的深度有限搜索算法
今天我看了左神的视频 写出来一个函数 只给起始节点的深度优先搜索遍历
public static void dfs(Node node){
if(node == null) return;}
Stack<Node> stack = new Stack<>();
HashSet<Node> set = new HashSet<>();
stack.add(node);
set.add(node);
sysout("node.value");//伪代码
while(!stack.isEmpty()){
Node cur = stack.pop();
for(Node next:cur.nexts){
if(!set.contains(next)){
stack.push(cur);
stack.push(next);
set.add(next);
sysout("next.value");
break;
}}
}}
拓扑排序
public static List<Node> sortedTopology(Graph graph){
HashMap<node,Integer> inMap = new HashMap<>();
Queue<Node> zeroInQueue = new LinkList<>();
for(Node node:graph.nodes.values()){
inMap.put(node,node.in);
if(node.in == 0){
zeroInqueue.add