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

 

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