BFS 到 Level Order traverse 到 UnionFind 到 Topological Sort 到 Dijkstra 思路总结

BFS 找联通量,找component.

Number of Islands (BFS, DFS 都可以做)

Surrounded Regions (BFS, DFS都可以做)

 

Union Find 找联通量是最合适的方法:对于动态加入的时候,尤其有效果;

Number of Connected Components in an Undirected Graph (BFS,  DFS, Union Find 都可以做)

Graph Valid Tree (BFS, Union Find 都可以做) BFS做的时候,一定要判断edge == nodes - 1, 收集到的node数量是n;

 

Level Order minimum distance 都会用到层级关系;int size = queue.size(); for(int i = 0; i < size; i++);

Binary Tree Level Order Traversal

Binary Tree Level Order Traversal II

Binary Tree Zigzag Level Order Traversal

Binary Tree Vertical Order Traversal (用两个queue,一个收集node,一个收集col的index,min max收集最小col和最大col);

 

==== minimum distance ====== 层级关系;int size = queue.size(); for(int i = 0; i < size; i++);

Walls and Gates

Rotting Oranges 注意到空层的时候,step也加1了,最后return的时候需要减去1;

Word Ladder

Remove Invalid Parentheses

 

 

Topological Sort

Course Schedule

Course Schedule II

 

 

Dijkstra

Pacific Atlantic Water Flow

Cheapest Flights Within K Stops

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章